防止IIS卸载ASP.Net网站

9
如何防止IIS卸载ASP.Net站点?
我可能拥有世界上最愚蠢的网站 - 每小时一次,它会唤醒并将时间戳写入日志文件。当应用程序启动时,它会在日志中记录时间戳,当它死亡时,同样如此。
在IIS中,我进入其应用程序池并将空闲超时设置为0,并将“生成循环事件日志条目>常规时间间隔”设置为False。
然而,该站点仍然每天约一次自行卸载 - 我在日志中得到了“应用程序卸载...”条目,直到我下次访问它之前都无法使用。
如何防止它卸载?
(显然,一旦解决了这个问题,这个网站将会更多 - 目前它尽可能简单地隔离了这个问题。)

3
也许你应该使用Windows服务或计划任务来完成这个任务,而不是通过网站实现。 - Oded
是的,这是一个定期运行的任务,是一个更大网站的一部分(一旦解决了这个问题)。将其拆分为Windows服务涉及到很多我不想处理的安装麻烦,而且还有很多关于共享内存的问题需要处理。我只想要一个不会一遍又一遍地卸载的网站。 - Chris Moschini
2个回答

18

应用程序池还有另一个属性,它会使其每N分钟自动回收一次(默认为1740,即每29小时)。将此设置为零以禁用回收。该属性在IIS7下位于“回收”标题下,称为“常规时间间隔(分钟)”。


听起来不错。我会尝试一下,如果它能够在30小时内生存下来,我就会接受这个答案! - Chris Moschini
尝试这个,我很期待。 - Speck

1
除了 @jlew 的建议之外,如果您正在ASP.Net中持续/定期运行后台任务/计时器而不需要Windows服务和计划任务的安装/配置/维护负担,则本文中提供的指南非常重要:

http://haacked.com/archive/2011/10/16/the-dangers-of-implementing-recurring-background-tasks-in-asp-net.aspx

它包含一个有用的辅助库WebBackgrounder,该库抽象了文章中处理优雅关闭和一些后台任务的典型需求的建议。

它不会为您配置IIS - 您需要自己修改回收设置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接