我们正在处理应用程序重启过于频繁(每隔几个小时一次)的问题。这导致第一个访问者每隔几个小时就有很长的加载时间。此外,我们有一个单独的服务器来处理排队的消息,它可能会在我们不知道的情况下关闭一天,因为应用程序将无缘无故退出。
是否有任何事件或方法可以在应用程序退出时进行记录,为什么退出,并可能指示它重新启动?
我们正在处理应用程序重启过于频繁(每隔几个小时一次)的问题。这导致第一个访问者每隔几个小时就有很长的加载时间。此外,我们有一个单独的服务器来处理排队的消息,它可能会在我们不知道的情况下关闭一天,因为应用程序将无缘无故退出。
是否有任何事件或方法可以在应用程序退出时进行记录,为什么退出,并可能指示它重新启动?
IIS 将关闭任何空闲一段时间的应用程序池。IIS 在检测到某些类型的错误等时也会回收应用程序池...
您当然可以挂钩 Application_End() 事件,但不能保证在所有情况下都会调用它。例如,如果应用程序被强制终止,它将不会被调用。
在更新的 IIS 版本中,您可以配置 IIS 以保持您的应用程序“温暖”。您还可以创建一个定期访问您的主页的计划作业。
我相信您正在寻找的是 application_end,当您的 IIS 池被回收或应用程序被卸载时,它会被触发。当所需文件发生更改时,应用程序也会自行重新加载。