【问题标题】:ASP.NET ReportViewer error "ASP.NET session has expired or could not be found"ASP.NET ReportViewer 错误“ASP.NET 会话已过期或找不到”
【发布时间】:2017-04-14 02:19:39
【问题描述】:

我的组织有一个 ASP.NET 应用程序,它是我们的 SSRS 报告的包装器。这个应用程序本质上只是为用户提供了一系列下拉菜单来导航到他们的报告,而不是让用户通过默认的 SSRS 报告管理器页面导航到报告。

在此应用程序中,我们有用户遇到错误,特别是错误:“ASP.NET 会话已过期或无法找到”。用户在尝试更改报告参数并重新运行报告后,仅在查看报告几分钟后就会发生这种情况。

我尝试在 ReportViewer 控件中使用 KeepSessionAlive="true"`,并在 web.config 中扩展会话超时值。这两件事都不能解决这个错误。

【问题讨论】:

    标签: asp.net reporting-services reportviewer


    【解决方案1】:

    根据有关会话状态模式的 msdn 文章,请访问:https://msdn.microsoft.com/en-us/library/ms178586.aspx

    我们最终将其从默认的 InProc 模式切换到了 StateServer 模式,并且此后无法重现该错误。但是,使用 StateServer 模式有一个额外的障碍,因为我们必须在我们的服务器上启用 ASP.NET 状态服务,将其设置为自动启动类型,然后从以下位置更新我们的 web.config sessionState 值:

    <sessionState timeout="120"/>
    

    到:

    <sessionState mode="StateServer" stateConnectionString="tcpip=localhost:42424" timeout="120"/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-12
      • 2013-12-03
      • 2010-09-15
      • 2012-03-18
      • 1970-01-01
      • 2018-03-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多