我们遇到了同样的问题.到目前为止,我们只在会话到期时才找到它,但是他们在浏览器中使用了后退按钮来执行激进的缓存,这很好.但即使主页没有,ReportViewer也试图刷新.所以,我们刚刚添加了一些hacky 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); } }