C# 应用程序错误
我最近发现生产中的IIS worker进程每周崩溃2-3次。我在异常日志中注意到,异常是由于未处理的异常引起的。我调查发现Global.asax没有服务器.转接呼叫C# 应用程序错误,c#,error-handling,C#,Error Handling,我最近发现生产中的IIS worker进程每周崩溃2-3次。我在异常日志中注意到,异常是由于未处理的异常引起的。我调查发现Global.asax没有服务器.转接呼叫 然后我在谷歌上搜索了一下,似乎最好使用Response.Redirect。这是真的吗,我对这件事的评论总是褒贬不一 void Application_Error(object sender, EventArgs e) { // Code that runs when an unhandled erro
然后我在谷歌上搜索了一下,似乎最好使用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");
}
这取决于您是否希望用户看到“重定向”。就我个人而言,我会使用Response.Redirect 请查看以下关于两者差异的答案:
“这是真的吗,我一直对此有各种各样的评论”什么评论?使用
Response.Redirect()
是否使应用程序按您希望的方式工作?如果另一个调用在Global.asax
hooks中不可用,您甚至可以选择吗?还有,您所说的“Global.asax没有服务器转移调用”是什么意思。您当然可以从global.asax文件执行server.transfer。所以,我没有看到这里的实际问题。根据您的目标,使用Server.Transfer
或Request.Redirect
。