2010-06-13 1 views
0

웹 서비스가 있는데 wwwroot 폴더의 일부 dll은 webservice가 실행 된 후에도 기록됩니다.w3wp.exe는 웹 서비스에서 처리 후 파일 잠김을 유지합니다.

pc를 다시 시작하면 문제가 해결됩니다.

dll을 해제하는 코드가있을 수 있습니까?

+0

이 서비스는 WCF 서비스입니까, 아니면 기존 ASMX 서비스입니까? –

+0

안녕하세요, John, 이것은 일반적인 웹 서비스입니다. – mouthpiec

답변

1

웹 서비스가 실행되는 AppPool을 재활용하거나 iisreset을 사용하십시오.

iisreset /stop은 IIS를 중지하고 dll을 릴리스합니다. iisreset /start은 IIS를 다시 시작합니다.

응용 프로그램 풀을 재활용하면 누군가가 웹 서비스에 다시 닿아 새 잠금을받을 때까지 dll 잠금이 해제됩니다.

+0

C# 코드에서이 작업을 수행 할 수 있습니까? – mouthpiec

+0

@mouthpiec - ADSI를 사용하고 코드가 동일한 응용 프로그램 풀에서 실행되지 않는 경우 * 응용 프로그램 풀 *을 C# 코드에서 다시 시작할 수 있습니다. 그러나 코드에서 IIS 인스턴스를 다시 시작하지 마십시오. 특히 IIS 버전에서 코드가 실행되는 경우 (코드가 효과적으로 종료 될 수 있습니다). iisreset은 관리 유형 작업이며 항상 수동으로 수행해야합니다. 수행해야 할 필요가 있고 다른 사용자가 서버를 사용하고 있다면 미리 계획해야 할 수 있습니다. – slugster

+0

@mouthpiec - dll을 잠금 해제하려는 이유에 대한 시나리오를 설명 할 수 있습니까? 그런 다음가는 길에 대해 조언하는 것이 더 쉽습니다. –