2010-06-13 48 views
0

我有一個web服務,我注意到wwwroot文件夾中的一些dll在web服務執行後保持記錄。w3wp.exe在webservice中處理後保持文件鎖定

pc重啓後,問題就解決了。

我可以在我的代碼中釋放dll嗎?

+0

這是一個WCF服務,還是一個傳統的ASMX服務? – 2010-06-13 19:56:04

+0

嗨,John,這是一個普通的web服務 – mouthpiec 2010-06-13 20:36:40

回答

1

嘗試重新啓動運行web服務的AppPool,或使用iisreset。

iisreset /stop將停止IIS並釋放dll的。 iisreset /start將再次啓動IIS備份。

如果您回收應用程序池,那麼dll的鎖將被釋放,直到有人再次點擊您的webservice並獲得新的鎖。

+0

我可以在我的C#代碼中做到這一點嗎? – mouthpiec 2010-06-13 19:58:02

+0

@mouthpiec - 如果您使用ADSI並且您的代碼未在同一應用程序池下運行,則可以從C#代碼重新啓動應用程序池*。但不要嘗試從代碼重新啓動IIS實例,特別是如果您的代碼在該IIS版本中運行(您的代碼將有效地關閉自己)。 iisreset是一項管理型任務,應始終手動完成,如果需要執行此操作並且其他人正在使用服務器,則可能需要提前計劃。 – slugster 2010-06-13 22:20:59

+0

@mouthpiec - 你能描述一下爲什麼你想解鎖DLL嗎?那麼建議路線就更容易了。 – 2010-06-14 07:11:20

相關問題