我看到这种错误每天发生一次,而且似乎是断断续续的。我们无法重现这一点以进行故障排除,但堆栈跟踪是通过Elmah发送的。有没有人对我们如何隔离并阻止以下异常发生有任何想法?
Default.aspx.cs:第12行的代码是:
Response.Redirect("Research.aspx");
Page_Load块上没有其他内容。
这是堆栈跟踪:
System.Web.HttpUnhandledException(0x80004005):类型异常 抛出'System.Web.HttpUnhandledException'。 ---> System.NullReferenceException:未将对象引用设置为实例 一个对象 System.Web.HttpRequest.FillInHeadersCollection()
在 System.Web.HttpRequest.EnsureHeaders()
在 System.Web.HttpRequest.get_Headers()
在 System.Web.UI.PageRequestManager.IsAsyncPostBackRequest(HttpRequestBase 请求) System.Web.Handlers.ScriptModule.HttpResponse_Redirecting(对象 发件人,EventArgs e)
在 System.Web.HttpResponse.Redirect(String url,Boolean endResponse, 布尔永久)
在 NielsenNRG.CinesysSuite.WebPortal.ResearchPlus.Default.Page_Load(对象 发件人,EventArgs e)in C:\ Git \ Cinesys \ WebPortal \ ResearchPlus \ Default.aspx.cs:第12行 在 System.Web.UI.Control.OnLoad(EventArgs e)
在 System.Web.UI.Control.LoadRecursive()
在 System.Web.UI.Page.ProcessRequestMain(布尔 includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)
在 System.Web.UI.Page.HandleError(例外e)
在 System.Web.UI.Page.ProcessRequestMain(布尔 includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)
在 System.Web.UI.Page.ProcessRequest(布尔 includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)
在 System.Web.UI.Page.ProcessRequest()
在 System.Web.UI.Page.ProcessRequest(HttpContext context)
在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()at System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously)
答案 0 :(得分:0)
您可以使用Response.Redirect ("Research.aspx", false);
然后不抛出异常(但运行时将继续处理当前请求)。