ImageResizer 重启应用程序池

ImageResizer restarts application pool

在删除虚拟目录中的文件夹时,我们遇到了应用程序池重新启动(并丢失所有会话)的问题。这不是 ImageResizers 的错误,而是 ASP.NET。我们无法在静态网站上复制该问题。

我想知道是否有人解决了这个问题?我们正在考虑为 ImageResizer 和图像内容创建一个单独的网页。也许有更简单的方法?

这个解决方案对我们不起作用:http://www.aaronblake.co.uk/blog/2009/09/28/bug-fix-application-restarts-on-directory-delete-in-asp-net/

IIS 和 ASP.NET - 两者 - 都有独立的 FileSystemWatcher。如果禁用这些,问题应该会消失。

有关详细信息,请参阅 http://imageresizing.net/docs/howto/avoid-network-limit

虽然上面的文章从基于网络的潜在存储的角度提到了问题,但问题可能以其他方式出现 - 例如在目录删除时。

我还建议避免删除 ASP.NET 网站上的文件夹;这是一个痛苦的目标,并且很可能由于读锁而失败。天哪,文件夹删除很少在 windows 上起作用 — 即使它 不是 网站的一部分,正在积极地为客户提供服务。

似乎可以使用 IIS 应用程序而不是虚拟目录,并为图像存档使用不同的应用程序池。我试过了,问题解决了......这个appool重新启动了,这并没有影响网络池。大获成功!

但是,我认为我们也不会这样做。似乎 IIS 应用程序需要它自己的 bin 文件夹。我不得不在这里复制图像调整器 DLL。我还必须为 Application_Start 中的自动 404 图片编写另一个 global.asax。它有效......我只是不希望图像目录中有很多代码。它是从第三方同步的。