记录IIS应用程序池启动,关闭和回收

时间:2010-12-09 22:35:29

标签: asp.net iis application-pool

我的应用程序在共享托管环境中运行。我的应用程序有一个专用的应用程序池。我一直在进行第一次访问和预编译性能的测试,并且在我的应用程序启动和关闭时一直在跟踪。

在我的Global.asax中,我在Application_Start和Application_End中有一些日志记录代码。我可以从我的日志中看到,当应用程序处于空闲状态并关闭时,然后有人访问并开始备份。

但是,我也看到记录关闭的情况,然后在大约13分钟后再次关闭;中间没有创业公司。

我还看到连续两个Startup的实例。我猜这些可能是一个回收,但为什么不会有关闭日志条目?

如果有更好的方法可以跟踪我的应用程序何时启动,何时关闭以及是否因空闲池或循环而关闭,我真的想知道。我无法访问Windows事件日志,因此如果可能,我需要从我的应用程序执行此操作。

1 个答案:

答案 0 :(得分:3)

Application_Start和Application_End只应在您的应用程序中每个生命周期调用一次MSDN confirms this

在不了解托管环境的情况下,您的Web主机可能正在多个工作池或IIS实例上运行您的网站。由于池中的其他应用程序,您的应用程序池也可能意外崩溃。

无法访问事件日志或基本Web主机控制面板以外的任何内容,您最好的日志记录方式就是您现在正在使用Global.ASAX进行的操作