我正在对ASP.NET应用程序中的重新启动进行故障排除。该应用程序每天重启大约20次。我正在使用log4net库进行日志记录。根据{{3}}的建议,我让应用程序在Global.asax中的HostingEnviornment.ShowdownReason
事件中记录Application_End()
关闭的原因。我还会在Application_Start()
事件中启动应用程序时进行记录。
运行日志几天后,我发现当实际记录关闭时,重启的原因始终为HostingEnvironment
。但并不总是记录关机。我知道,因为我可以看到Application_Start()
日志事件没有相应的Application_End()
事件。
什么会导致托管环境重新启动我的应用程序?有没有办法获得有关它决定触发重启的原因的更具体信息?关闭事件并不总是被记录的事实是否会导致可能导致重启的原因?
更新
我还在努力解决这个问题。 this question Links from around the似乎表明需要使用WinDbg / SOS.dll / ADPlus.vbs来追查此问题的原因。但在学习如何使用这些工具和弄清楚如何正确解释结果之间,它似乎带来了非常陡峭的学习曲线。我仍然希望有一些东西可以帮助我找到重新启动的原因,而无需使用反汇编CLR代码。有没有人有任何其他可以帮助我的工具或技巧?