2016-11-29 167 views
0

我的组织有一个ASP.NET应用程序,它是我们的SSRS报告的包装。这个应用程序基本上只是为用户提供一系列下拉菜单来导航到他们的报告,而不是让用户通过默认的SSRS报告管理器页面导航到报告。ASP.NET ReportViewer错误“ASP.NET会话已过期或无法找到”

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

我试图在我的ReportViewer控件中使用KeepSessionAlive =“true”`,并在Web.config中扩展Session Timeout值。这些都不能解决这个错误。

回答

0

按上可用的会话状态模式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"/>