哪些ASP.NET生命周期事件在HttpApplication.Error之后发生?
|
我想知道在通过HttpApplication.Error事件处理错误后,ASP.NET请求生命周期的哪些部分发生.具体来说,哪个事件在 http://msdn.microsoft.com/en-us/library/bb470252.aspx#Stages火灾发生错误后列出?我知道EndRequest仍然触发,我怀疑PreSendRequestHeaders和PreSendRequestContent也是一样的,但除此之外我不知道. 这是否取决于在生命周期中什么时候发生错误?这是否取决于我是否在错误处理程序中调用Server.ClearError()? 我问这个问题,因为我不知道我是否应该从我的错误处理程序调用HttpApplication.CompleteRequest(). 解决方法最好的方法是捕获服务器最后一个错误和appdomain异常.所有这些都可以在Global.asax.cs文件中完成. 请检查以下步骤: 1-在Global.asax.cs中,捕获最后一个错误并记录它. protected void Application_Error(object sender,EventArgs e)
{
Exception exception = Server.GetLastError();
Server.ClearError();
log.Error("Application Error caught in Global ",exception);
}
2-在AppDomain上添加UnhandledException事件的事件处理程序,这应该被添加到Application_Start中: protected void Application_Start(object sender,EventArgs e)
{
//....
AppDomain.CurrentDomain.UnhandledException
+= new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
}
3-这里是CurrentDomain_UnhandledException的实现: void CurrentDomain_UnhandledException(object sender,UnhandledExceptionEventArgs e)
{
if (e != null)
log.Error("Domain Unhandled Exception: ",e.ExceptionObject as Exception);
}
快乐编码:) (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – ASP.NET MVC – 创建一个新模型或使用Entit
- asp.net-mvc-3 – 是否可以在将razor viewengine发送到客户
- 远程服务器返回错误:(401)未经授权.在ASP.NET中使用CSOM
- asp.net – IE 8和客户端缓存
- asp.net – Page_ClientValidate()与多个ValidationGroups
- asp.net-mvc – 带MVC结果的Response.Flush无效
- 用AJAX实现的无刷新的分页实现代码(asp.net)
- telerik – Kendo DatePicker对自定义日期格式的验证失败
- asp.net-mvc – MVC 4 _Layout.cshtml viewmodel
- asp.net-mvc – ASP.NET MVC:多个项目错误
