在应用程序退出之前调用什么方法?

时间:2013-07-05 21:46:51

标签: asp.net asp.net-mvc-4

我们正在处理一个应用程序重启频繁的问题(每隔几个小时一次)。这导致第一个访客每隔几个小时就有一个很长的加载时间。此外,我们有一个单独的服务器来处理排队的消息,它可能会在我们不知情的情况下停机一天,因为应用程序将在没有明显原因的情况下退出。

当应用程序退出时,是否有任何可以挂钩的事件或方法,退出的原因以及可能指示它重新启动?

2 个答案:

答案 0 :(得分:2)

IIS将关闭任何闲置一段时间的应用程序池。当IIS检测到某些类型的错误时,它也会回收应用程序池......

您当然可以挂钩Application_End()事件,但不能保证在所有情况下都会调用它。例如,如果应用程序被强制终止,则不会被调用。

在更新版本的IIS中,您可以配置IIS以使应用程序“温暖”。您还可以创建一个每隔一段时间就触及您主页的预定作业。

答案 1 :(得分:0)

我相信您正在寻找的是application_end,当您的IIS池被回收或应用程序被卸载时会被触发。当所需文件也发生变化时,应用程序会自行重新加载。