ImageResizer重新启动应用程序池

时间:2015-03-05 10:32:36

标签: asp.net restart imageresizer iis-8.5

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

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

此解决方案对我们无效:http://www.aaronblake.co.uk/blog/2009/09/28/bug-fix-application-restarts-on-directory-delete-in-asp-net/

2 个答案:

答案 0 :(得分:0)

IIS和ASP.NET - 都有独立的FileSystemWatchers。如果禁用这些,问题就会消失。

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

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

我还建议避免删除ASP.NET网站上的文件夹;这是一个痛苦的目标,并且可能因读锁而失败。 Goodnes,文件夹删除很少在Windows上运行 - 即使它是网站的一部分正在积极地为客户提供服务。

答案 1 :(得分:0)

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

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