- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道通过 HttpApplication.Error 事件处理错误后,ASP.NET 请求生命周期的哪些部分发生。具体来说, http://msdn.microsoft.com/en-us/library/bb470252.aspx#Stages 列出了哪些事件错误后触发?我知道 EndRequest 仍然会触发,并且我怀疑 PreSendRequestHeaders 和 PreSendRequestContent 也会触发,但除了这些我不知道。
这是否取决于错误在生命周期中何时发生?这是否取决于我是否在错误处理程序中调用 Server.ClearError() ?
我问这个问题是因为我不知道是否应该从错误处理程序中调用 HttpApplication.CompleteRequest()。
最佳答案
最好的方法是捕获服务器上次错误和应用程序域异常。
所有这些都可以在 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 - HttpApplication.Error 之后会触发哪些 ASP.NET 生命周期事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4079152/
我有一个单页应用程序,前端是 Angular.js,后端是 Web api2,还使用 CaSTLe Windsor 和 SignalR。 我在维护服务器状态的服务器上使用 C# 组件。因此,在 A
我有一个 MVC3 应用程序,我向其中添加了几个简单的缓存变量作为属性。我在 Application_Start 中添加我的数据,然后在 Controller 中尝试将 HttpContext.App
我有一个派生自 HttpApplication 的类,它添加了一些额外的功能。我已经到了需要对这些功能进行单元测试的地步,这意味着我必须能够创建 HttpApplication 的新实例、伪造请求并检
我在设计 View 上制作了一个带有一些静态 HTML 的简单 Web 表单,在后面的代码中我添加了两个方法:Page_Load 和 Page_PreRender,如下所示: public parti
我使用了 this article 顶部的表格作为引用。我有三个问题: 1 - 多个用户(来自不同的物理位置)可以共享一个 HttpApplication 实例吗?如果是这样,这是默认发生的吗? 2
HttpApplication 异步事件(例如,使用AddOnEndRequestAsync 和 friend 注册的事件)在多大程度上是异步的? IIS 是否等待为特定事件触发的所有异步事件完成,然
我在我的 Global.asax 中覆盖了 Application_AuthenticateRequest() 以试图更好地理解事件流。我正在使用默认 MVC2 应用程序附带的成员身份提供程序。 我想
HttpApplication拥有特性Context哪个类是HttpContext . HttpContext 类和HttpApplication 类有一些共同的属性,比如User, Response
我在 Global.asax 中设置了各种全局参数,如下所示: Application["PagePolicies"] = "~/Lab/Policies.aspx"; Application["Pa
我正尝试在我的 MVC 应用程序上运行一些测试,但我一直在努力让它工作。我会尽量开门见山: 我正在使用 RhinoMocks 来尝试这样的事情: 设置: MockRepository mocks =
根据this MSDN article HttpApplication.EndRequest 可用于关闭或处置资源。但是,在我的应用程序中不会触发/调用此事件。 我们通过以下方式在 Page_Load
This comment通过 Stephen Cleary说的是: AspNetSynchronizationContext is the strangest implementation. It t
HttpApplication 类和 IHttpModule 有什么区别?它们是相同还是不同? 我看到文章在两个类(class)中都提到了相同的事件。 最佳答案 HttpApplication 是在其
我正在编写 HttpModule 并需要对其进行测试,我正在使用 C#、.NET4.5.2、NUnit 和 起订量。 我尝试测试的方法是Context_BeginRequest: public cla
我正在尝试向 .NET Mvc 应用程序中的每个请求添加一些请求上下文信息。我为此目的使用 LogicalCallContext,因为我的请求有时会调用异步任务。但是,我发现在 BeginReques
一本书展示了一个示例,其中(使用 IIS7 时)配置了以下模块,以便网站上运行的任何 Web 应用程序(甚至非 asp.net 应用程序)都可以使用它。但是: 如果为非 asp.net 应用程序调用此
我正在创建一个库,它需要在 ASP.NET 请求生命周期的各个阶段运行一些代码。 通过覆盖 HttpApplication.Init() 并在那里注册各种处理程序,在编写 Web 应用程序时很容易做到
我正在尝试为在 Application_Start 上加载的 ASPNET HttpApplication 测试“插件” . 代码是这样的: private HttpApplication appli
我的 Web 应用程序中有一个 HttpApplication (Global.asax),我用它来捕获和记录未处理的异常并设置 WebFormURLRouting。这一切都有效,但是我想将这段代码移
我有 global.asax,它从我创建的自定义类扩展而来,称为 MvcApplication,它从 System.Web.HttpApplication 扩展而来。 在它的构造函数中,它按照以下方式
我是一名优秀的程序员,十分优秀!