我最近发现生产中的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");
}
答案 0 :(得分:2)
这取决于您是否希望用户看到“重定向”。就我个人而言,我会使用Response.Redirect。
看看这个答案的两者之间的区别: https://stackoverflow.com/a/224577/1260077