应用程序错误

时间:2013-03-05 02:48:16

标签: c# error-handling

我最近发现生产中的IIS工作进程每周崩溃2-3次。我在异常日志中注意到它是因为UnhandledException。我调查过,发现Global.asax没有Server.Transfer调用。

然后我做了一些谷歌搜索,似乎最好使用Response.Redirect。这是真的吗,我继续对此发表评论......

    void Application_Error(object sender, EventArgs e)
    {
        // Code that runs when an unhandled error occurs
        if (null != Context && null != Context.AllErrors)
            System.Diagnostics.Debug.WriteLine(Context.AllErrors.Length);

        //bool isUnexpectedException = true;
        HttpContext context = ((HttpApplication)sender).Context;

        Exception ex = context.Server.GetLastError();
        if (ex.InnerException != null)
            ex = ex.InnerException;

        LogManager.ExceptionHandler(ex);

        Server.Transfer("GeneralError.aspx");
    }

1 个答案:

答案 0 :(得分:2)

这取决于您是否希望用户看到“重定向”。就我个人而言,我会使用Response.Redirect。

看看这个答案的两者之间的区别: https://stackoverflow.com/a/224577/1260077