ASP.NET全局应用类中如何处理HTTP错误?
时间: 2024-10-16 12:20:48 浏览: 21
ASP.NET Core应用错误处理之三种呈现错误页面的方式
在ASP.NET的全局应用类中,通常通过`HttpApplication`的`Error`事件来处理HTTP错误。这个事件会在发生未被捕获的异常时触发,你可以编写一个事件处理程序来捕获并处理这些异常。以下是一个简单的示例:
```csharp
protected void Application_Error(object sender, EventArgs e)
{
Exception ex = Server.GetLastError(); // 获取引发的错误
if (ex != null) {
LogException(ex); // 自定义的日志记录函数
Response.Clear();
Response.TrySkipIisCustomErrors = true; // 防止IIS默认的错误页覆盖
// 可能的处理策略:显示友好的错误页面,记录详细信息等
Response.StatusCode = (int)HttpStatusCode.InternalServerError;
Response.StatusDescription = "服务器内部错误";
Response.Write("An error occurred while processing your request.");
}
}
```
在这个例子中,我们首先获取引发的错误,然后可以选择记录日志,清理响应以便于提供自定义的错误页面,或者设置HTTP状态码来告知客户端发生了错误。
阅读全文