1

我设置 iis 以使用“asp.net 2.0”的 isapi 过滤器处理 .exe,以启用动态 url 替换。为此,我在 iis 中设置了扩展,并将以下行添加到 web.config。到目前为止工作正常。

<add path="*.exe" verb="*" type="System.Web.StaticFileHandler" />

问题是 w3wp 进程在这些文件上有几个句柄的形式。很可能是因为此刻有人正在下载它们。

有没有办法告诉 iis/asp.net 不要在文件上放置独占句柄?即使网站正在运行,我也想替换它们。只要 asp.net 不处理这些文件,它就可以工作。

4

1 回答 1

0

我不认为有办法做到这一点。您告诉 IIS 处理此文件类型,因此服务器假定具有某种排他性。此行为适用于 IMO,因为它可以防止生产环境中的文件损坏。

也许它有助于将请求限制为某些选定的 HTTP 动词(POST/GET),但我没有看到任何其他选项。

另一个问题是:为什么要替换用户当前下载的文件?它会破坏他的下载,迫使他重新开始。

于 2009-12-16T08:53:02.210 回答