asp.net - IIS 和 ASP.NET 锁定我的 PInvoke dll

标签 asp.net iis-7 pinvoke

我有一个 ASP.NET MVC 网站,它使用内部 dll 来处理一些 PInvoke 内容。该 dll 位于其他程序集旁边的/bin 文件夹中。这很好用,但如果我想通过复制到现有文件(这是在测试服务器上)来用最新的文件集替换/bin 文件夹的内容,则 PInvoke dll 会被 w3wp.exe 工作程序锁定/使用进程,除非回收应用程序池或重新启动 IIS,否则无法替换。

这是标准行为还是我可以以某种方式指示 ASP.NET 运行时获取类似于常规程序集的 PInvoke dll 的卷影副本?

最佳答案

据我所知,如果 IIS 拥有该 DLL 的句柄,您将无法替换该 DLL。

您提到了 APPPool 回收和 IIS 重新启动...

我猜您可能没有使用过触摸您的 web.config 文件。我的意思是,在记事本中打开 web.config,进行更改(例如添加空格并将其删除)并保存文件。这将回收您的应用程序域,因此理想情况下应该释放程序集引用[除非它是共享程序集]。

关于asp.net - IIS 和 ASP.NET 锁定我的 PInvoke dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4155798/

相关文章:

asp.net - 为什么.tfignore文件不忽略我的packages文件夹

security - 删除服务器响应 header IIS7

c# - 1 :1 Alignment of C# Structs with Streamed Delphi Records Possible?

C# 使用 SendMessage,WM_COPYDATA 有问题

asp.net - 如何在 EditItemTemplate 字段的 GridView 中绑定(bind) DropDownList?

c# - 将 StructureMap 与单元测试结合使用

c# - 如何以正确的方式实现存储库模式?

asp.net - 访问网站根目录时,FormsAuthentication 重定向到登录页面

.net - 使用 wcf Rest 服务在 iis7 上显示错误?

c# - P/从 wlanapi.dll 调用 WlanHostedNetworkQueryStatus