2011-05-31 72 views
5

如果dll已由w3wp.exe加載並且我們將其替換,會發生什麼情況?在ASP.NET中已經加載AppDomain的情況下替換DLL

當然,我們可以替換一個dll,因爲asp.net使用Bin文件夾DLL的緩存版本,但是我想知道如果更換dll,它會加載新的DLL,或者等到下一次回收或者當沒有新的請求。

編輯: DLL包含一個單獨的類

回答

3

MSDN

如果更改了.dll和寫一個新的版本 它的Bin文件夾, ASP.NET檢測更新並使用 新版本的.dll爲新的 頁面請求從此。

+0

我的情況有點複雜。這是一個'HttpHandler',我替換的DLL包含一個'Singleton'類。由於應用程序域已經加載,我猜新的DLL將不會被使用,直到下一個「回收」。 – Xaqron 2011-05-31 04:16:16

+1

@Xaqron - 不管dll是否包含Singleton類,都沒關係。它將回收AppDomain並重新加載它。 – 2011-05-31 04:24:30