我有一个 ASP.NET MVC Web 应用程序,它使用 Quartz.net 库按每日计划执行任务。我很快发现 IIS 在一段时间不活动后终止/暂停应用程序池。我已经更改了该应用程序池的配置以避免这种行为,如下所示:
- 启动模式:始终运行
- 空闲超时(分钟):0
- 空闲超时操作:挂起
- 生成回收日志条目:真 [对于所有子属性]
- 常规时间间隔:0
- 具体时间间隔:TimeSpan[] Array [empty]
我可以看到的唯一可能仍然会杀死我的应用程序的属性是
- Ping 启用:真
它被设置为杀死任何在 90 秒内没有响应的工作进程。
我对更改此属性犹豫不决,因为我不想引入资源泄漏或类似的东西。
这些更改在过去几天似乎有效,但今天早上我的工作未能再次执行。
所以我的问题是,我可以在事件查看器或其他地方寻找什么表明进程/应用程序被暂停或终止?
我不是在问如何改进我的实现——我知道具有持久存储的 Windows 服务或计划任务会更好。我想了解为什么会发生这种情况,以及在哪里查找应用程序池停止或启动的时间和原因。我似乎在事件查看器中找不到任何东西,但也许我找错了地方。
提前致谢。