Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ASP.NET中已加载AppDomain时替换DLL_C#_.net_Asp.net_Iis_Application Pool - Fatal编程技术网

C# 在ASP.NET中已加载AppDomain时替换DLL

C# 在ASP.NET中已加载AppDomain时替换DLL,c#,.net,asp.net,iis,application-pool,C#,.net,Asp.net,Iis,Application Pool,如果一个dll已经被w3wp.exe加载,我们将其替换,会发生什么情况 当然,我们可以替换dll,因为asp.net使用的是缓存版本的Bin文件夹dll,但我想知道,在替换dll时,它是否会加载新的dll,或者它会等到下次回收,或者没有新的请求 编辑:DLL包含一个单例类来自: 如果更改.dll并编写新的 将其版本保存到Bin文件夹, ASP.NET检测更新并使用 新的.dll的新版本 页面请求从那时起 修改或添加dll后,应用程序将再次编译 当bin目录中发生任何更改或其内容被修改时,您的请求

如果一个dll已经被w3wp.exe加载,我们将其替换,会发生什么情况

当然,我们可以替换dll,因为asp.net使用的是缓存版本的
Bin
文件夹dll,但我想知道,在替换dll时,它是否会加载新的dll,或者它会等到下次回收,或者没有新的请求

编辑:DLL包含一个单例类

来自:

如果更改.dll并编写新的 将其版本保存到
Bin
文件夹, ASP.NET检测更新并使用 新的.dll的新版本 页面请求从那时起


修改或添加dll后,应用程序将再次编译


当bin目录中发生任何更改或其内容被修改时,您的请求将被删除。

我的情况有点复杂。这是一个
HttpHandler
,我替换的DLL包含一个
Singleton
类。由于应用程序域已经加载,我想新的DLL将不会被使用,直到下一次
回收
@Xaqron-不管DLL是否包含
单例
类。它将回收AppDomain并重新加载它。