我最近发现生产中的 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");
}