该项目是ASP.NET 2.0,我从来没有能够自己复制过,但是我收到电子邮件通知我,它每周多次发生在客户身上,经常是连续几次。
这是完整的错误:
异常详细信息:
Microsoft.Reporting.WebForms.AspNetSessionExpiredException: ASP.NET session has expired
堆栈跟踪:
[AspNetSessionExpiredException: ASP.NET session has expired] at Microsoft.Reporting.WebForms.ReportDataOperation..ctor() at Microsoft.Reporting.WebForms.HttpHandler.GetHandler() at Microsoft.Reporting.WebForms.HttpHandler.ProcessRequest(HttpContext context) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) Session Objects:75de8e1d65ff40d1ba666d940af5b118: Microsoft.Reporting.WebForms.ReportHierarchy 5210064be1fa4d6abf5dd5e56b262974: Microsoft.Reporting.WebForms.ReportHierarchy
最佳答案
我们有同样的问题。到目前为止,我们仅在 session 过期时才找到它,但是他们在进行主动缓存的浏览器中使用了后退按钮,这很好。但是,即使主页面没有,ReportViewer仍尝试刷新。因此,我们只添加了一些骇人的Global.asax错误处理:
protected void Application_Error(object sender, EventArgs e)
{
Exception exc = Server.GetLastError().GetBaseException();
if (exc is Microsoft.Reporting.WebForms.AspNetSessionExpiredException)
{
Server.ClearError();
Response.Redirect(FormsAuthentication.LoginUrl + "?ReturnUrl=" + HttpUtility.UrlEncode(Request.Url.PathAndQuery), true);
}
}
关于session - Microsoft ReportViewer: session 过期错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/178600/