【问题标题】:ASP.NET session expired error when viewing a report查看报告时出现 ASP.NET 会话过期错误
【发布时间】:2011-04-23 18:58:30
【问题描述】:

使用报表查看器控件查看(SQL 服务器报表服务)报表时,我收到“ASP.NET 会话已过期”错误。有时它工作正常,有时我得到这个错误,它在开发中工作正常,但在测试环境中却不行。如果您有任何线索,请告诉我。提前致谢。这是报表查看器控件的代码。

ReportViewer1.ServerReport.ReportServerUrl = 新的 Uri(System.Configuration.ConfigurationManager.AppSettings["ReportServerUrl"]);

    ReportViewer1.ServerReport.ReportPath = System.Configuration.ConfigurationManager.AppSettings["ReportPath"];
    ReportViewer1.ServerReport.SetParameters(new List<ReportParameter> { new ReportParameter("key", "value") });
    ReportViewer1.DataBind();

【问题讨论】:

  • 您好 RKP,我的回答有帮助还是您还有问题?
  • 我正在尝试使用“ReportViewer1.LocalReport.Refresh”解决此问题的建议,如此链接eggheadcafe.com/software/aspnet/31537344/… 中所述。我想增加会话超时仅作为最后的手段。感谢您的回复。
  • 祝你好运,但我的建议不是增加会话超时。这是空闲超时,即使您增加会话超时,空闲超时也会在不经常访问的系统上启动。总之祝你好运。

标签: asp.net reporting-services reportviewer ssrs-2008


【解决方案1】:

看一下iis中的应用程序池,查看高级设置->进程模型->空闲超时(分钟)。将此设置为高于 20 分钟。听起来工作进程正在关闭,因为它是空闲的。测试系统通常会发生这种情况,因为它们没有获得那么多命中来阻止空闲超时启动。

欢呼跳跳虎

【讨论】:

    【解决方案2】:

    我在生产服务器上遇到这些症状数月来一直无法在任何开发或测试服务器上可靠地重现它。我快疯了,直到一些古怪的配置更改最终使 ASP.NET 在此会话过期错误发生时记录一个新警告。

    长话短说,我的问题是报告查看器中的一个错误。它在 Connect 上被窃听,我为该案例添加了一个解决方法,可能会对您有所帮助:

    https://connect.microsoft.com/VisualStudio/feedback/details/556989/

    在采取任何激进的解决方法之前,首先检查测试服务器上的事件查看器,并在您遇到此错误时查找 ASP.NET 警告事件。查看事件是否提到了“IterationId”参数。

    【讨论】:

      【解决方案3】:

      我通过将报表查看器控件的 AsyncRendering 设置为 false 来修复它。在我找到合适的解决方案之前,这只是一种临时解决方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-03-31
        • 2013-05-24
        • 2013-10-25
        • 1970-01-01
        • 1970-01-01
        • 2020-09-09
        • 2014-01-27
        相关资源
        最近更新 更多