2011-05-31 50 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

相关问题