我正在处理的当前应用程序似乎经常回收应用程序池,但是当它结束时,id没有通过Application End或Application Start。 这就是我的Global.asax的样子。
protected void Application_Start(object sender, EventArgs e)
{
_log.Info("Application_Start");
}
protected void Application_End(object sender, EventArgs e)
{
_log.Info("Application_End");
}
protected void Application_Error(object sender, EventArgs e)
{
_log.Error("Application_Error");
_log.Error(Server.GetLastError());
}
什么可能导致应用程序“死”而不传递结束或错误?
答案 0 :(得分:3)
从技术上讲,它应该在应用程序池重置时触发。某些东西是否有可能处置_log对象,或者将其置于导致其无法记录的状态?
这对你的情况没有帮助,但是我正在添加它,而我正试图找到一个答案,因为它有点相关并需要注意:
http://forums.asp.net/p/948103/1152361.aspx#1152361
尝试将事件切换到Application_OnEnd并查看是否有效。我看到另一篇文章谈到这一点。 http://bytes.com/topic/asp-net/answers/326302-application_end-not-fired-when-app-unloaded-why