IIS 服务20分钟后自动停止
关于IIS 服务应用程序池20分钟内未进行任何操作而导致服务自动停止的问题:
IIS服务部署(新增网站)时默认的“闲置超时(分钟)”为20分钟:
解决方法一:将闲置时间改大点,同时把“禁止重叠回收”改为true:
闲置时间修改:在IIS管理器中点击应用程序池,选中需要设置的服务,在右侧点击“高级设置...”,在弹框中的“进程模型”一栏中有个“闲置超时(分钟)”,将后面的数值修改,重新启动服务即可。(本人测过修改为120分钟的,没问题,网上有人说直接改为0分钟,能解决闲置时间的问题,但线程也会在1740分钟(29天)之后自动关闭,1740应该是一个最大值)
禁止重叠回收修改:同上步骤,在弹框中的“回收”一栏中有个“禁用重叠回收”,将后面的值改为true。
解决方法二:
可以在解决方法一的基础上进行,也可以不在方法一基础上进行。通过代码来实现,在Global.asax中,修改如图:
因为当服务停止时会触发Application_End()方法,这时让它再去加载一下当前服务,相当于一旦超过规定的闲置时间,就让他继续工作一次,这样就可以再次触发Application_Start()方法,服务将会继续工作