如果dll已由w3wp.exe
加載並且我們將其替換,會發生什麼情況?在ASP.NET中已經加載AppDomain的情況下替換DLL
當然,我們可以替換一個dll,因爲asp.net使用Bin
文件夾DLL的緩存版本,但是我想知道如果更換dll,它會加載新的DLL,或者等到下一次回收或者當沒有新的請求。
編輯: DLL包含一個單獨的類
如果dll已由w3wp.exe
加載並且我們將其替換,會發生什麼情況?在ASP.NET中已經加載AppDomain的情況下替換DLL
當然,我們可以替換一個dll,因爲asp.net使用Bin
文件夾DLL的緩存版本,但是我想知道如果更換dll,它會加載新的DLL,或者等到下一次回收或者當沒有新的請求。
編輯: DLL包含一個單獨的類
從MSDN:
如果更改了.dll和寫一個新的版本 它的
Bin
文件夾, ASP.NET檢測更新並使用 新版本的.dll爲新的 頁面請求從此。
一旦dll被修改或添加,您的應用程序將被重新編譯。
您的application's domain will be recycled當bin目錄發生任何更改或其內容被修改時。
我的情況有點複雜。這是一個'HttpHandler',我替換的DLL包含一個'Singleton'類。由於應用程序域已經加載,我猜新的DLL將不會被使用,直到下一個「回收」。 – Xaqron 2011-05-31 04:16:16
@Xaqron - 不管dll是否包含Singleton類,都沒關係。它將回收AppDomain並重新加載它。 – 2011-05-31 04:24:30