[SSRS问题,获取ASP.NET会话已过期

问题描述 投票:0回答:3

在报表查看器中查看报表时,我们收到以下错误ASP.NET会话已过期

我们使用.NET 2005 ssrs 2005

嗯,我们有一份报告开发并托管在SSRS服务器上,该报告与ASPX应用程序的应用程序服务器相同

在我们的Web应用程序中,default.aspx具有显示报告的报告查看器

在部署到应用程序的链接为http://testserver/appname的测试服务器上部署并且报表服务器链接为http://testserver/reportserver

一切正常]

在生产服务器中

我们为应用程序指定了不同的站点名称,即http://applicationname在生产中每个应用程序都是不同的站点

所以这里我们有http://applicationname用于Web应用程序和http://servername/reportserver作为报告

此处报告查看器未显示报告,但出现以下错误

ASP.NET会话已过期

[AspNetSessionExpiredException:ASP.NET会话已过期]Microsoft.Reporting.WebForms.ReportDataOperation..ctor()+866Microsoft.Reporting.WebForms.HttpHandler.GetHandler()+719Microsoft.Reporting.WebForms.HttpHandler.ProcessRequest(HttpContext上下文)+15System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+638System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔值并已完成同步)+177

请给我一些帮助

更新:

在产品上以http://productionserver/applicationname对其进行了测试它工作正常(即当我将应用程序作为默认目录下的虚拟目录放置时)但是当我将应用程序作为安全站点http://applicationname放在同一台服务器上时,出现错误消息!

[在报表查看器中查看报表时,我们收到以下错误ASP.NET会话已过期,我们很好地使用.NET 2005 ssrs 2005,我们已经开发了一个报表并将其托管在SSRS服务器上,与...相同]]] >> < [

如果报告路径包含下划线,您也可能会遇到此问题。除了删除它们外,我没有找到其他解决方法,但这确实有效(至少对我们而言)。

EG:http://reportserverhost/Reports_Dev/SomeReport必须变为http://reportserverhost/Reports Dev/SomeReport才能工作。

对我毫无意义,但这是我们的解决方法。

我也遇到同样的问题。报告查看器将随机选择何时显示报告,而其他时候我只会遇到此错误:“ ASP.NET会话已过期或找不到”。

在尝试了Web上所有可能的解决方案之后,我终于发现问题出在应用程序池中“高级设置”下的“流程模型”中。

<< [最大工作进程

设置为

2

,将数字更改为1后,我不再收到错误“ ASP.NET会话已过期或找不到” 。 希望我能帮助另一个人节省一些时间。 这里是您需要更改设置的屏幕截图。

enter image description here

您可以尝试的三件事,前两项来自here
1)如下将默认的InProc会话状态模式更改为StateServer模式:

<sessionState mode="StateServer" stateConnectionString="tcpip=localhost:42424" cookieless="false" timeout="20"/>

2)您可能在报告中有图像。当您将报表用于生产时,您可能会忘记拍摄嵌入在报表中的图像。

3)您的IIS可能正在尝试启动更多进程或其他任何进程-无论如何,请将您的maxworkingprocesses设置为1,这样它就不会尝试启动新进程。

.net asp.net reportingservices-2005 reporting-services
3个回答
1
投票
如果报告路径包含下划线,您也可能会遇到此问题。除了删除它们外,我没有找到其他解决方法,但这确实有效(至少对我们而言)。

EG:http://reportserverhost/Reports_Dev/SomeReport必须变为http://reportserverhost/Reports Dev/SomeReport才能工作。


1
投票
我也遇到同样的问题。报告查看器将随机选择何时显示报告,而其他时候我只会遇到此错误:“ ASP.NET会话已过期或找不到”。

在尝试了Web上所有可能的解决方案之后,我终于发现问题出在应用程序池中“高级设置”下的“流程模型”中。

<< [最大工作进程


0
投票
1)如下将默认的InProc会话状态模式更改为StateServer模式:

<sessionState mode="StateServer" stateConnectionString="tcpip=localhost:42424" cookieless="false" timeout="20"/>

© www.soinside.com 2019 - 2024. All rights reserved.