asp.net - 如何判断 Application_Error 中的请求/响应是否可用?

标签 asp.net asp.net-mvc

Application_Error由应用程序启动时的异常触发,即 RouteConfigBundleConfig如何检查 Request/Response可用吗?目前调用Response.Clear抛出 System.Web.HttpException附加信息 Response is not available in this context .

void Application_Error(object sender, EventArgs e)
{
    //Log error
    Log.Error(e);

    //Clear
    Response.Clear();
    Server.ClearError();

    //Redirect
    Response.Redirect("~/Error");
}

其他问题建议改写不使用Response或使用 HttpContext.Current.Response 或更改 IIS config .

总之;如何判断应用程序启动期间是否发生错误?

最佳答案

你要检查是否是 HttpException .

protected void Application_Error(Object sender, EventArgs e)
{
    var exception = Server.GetLastError();

    // Log error
    LogException(exception);

    var httpException = exception as HttpException;
    if (httpException != null)
    {
        Response.Clear();
        Server.ClearError();
        Response.TrySkipIisCustomErrors = true;

        Response.Redirect("~/Error");
    }
}

关于asp.net - 如何判断 Application_Error 中的请求/响应是否可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28092689/

相关文章:

c# - 存储过程的进度条

c# - Azure 模拟器使用 MVC 应用程序时速度缓慢,可能需要 120 秒才能注册点击或 JSON 调用

c# - 在 ASP.Net 中将数据更新到 SQL Server 的最佳实践是什么

asp.net - 从 ASP.NET 网站创建独立的 Windows 应用程序

asp.net-mvc - 基于表单的身份验证和基于 token 的身份验证之间的区别

c# - 以 ASP.NET MVC 表格形式动态添加行

javascript - 如何从asp.net mvc中的 Controller 传递json格式的chart.js图表​​数据对象

asp.net-mvc - 如何与asp身份用户建立一对多关系

c# - "where"LINQ 语句中的 LIKE 导致错误

c# - EntityDataSource 和 Entity Framework 6