0

我们使用 SSRS 2005 开发了一份报告。它嵌入在基于 C#/ASP.Net(3.5 框架/VS 2008)构建的 Web 应用程序中。

报告部署在报告/数据库服务器中,该服务器是两层架构的一部分,即。应用程序和数据库。该报告需要一个多小时来执行和生成输出,因为它调用了一个处理大量数据的存储过程。当报告正在运行时,经过的时间接近一个小时,则会显示一条错误消息:“Internet Explorer 无法显示该网页”。

事件查看器日志有以下消息:

事件类型:警告
事件源:ASP.NET 2.0.50727.0
活动类别:网络活动
事件编号:1309
日期:2013 年 1 月 7 日
时间:上午 10:58:04
用户:不适用
计算机:  -  -  -  -  -  -  -  -  -  - 
描述:
事件代码:3005
事件消息:发生未处理的异常。
进程 ID:7456
进程名称:w3wp.exe
帐户名称:NT AUTHORITY\NETWORK SERVICE
异常类型:AspNetSessionExpiredException
异常消息:ASP.NET 会话已过期
请求网址:http://------/ABC/Reserved.ReportViewerWebControl.axd?ReportSession=1ki0jo3ouutixi555breaja4&ControlID=9ab46efcbab44cb987c5b9967fea54c3&Culture=1033&UICulture=1033&ReportStack=1&OpType=SessionKeepAlive&TimerMethod=KeepAliveMethodctl00_ContentPlacePlaceViewer11
4

2 回答 2

1

一个小时的报告执行时间永远不会可行。当数据量增加时会发生什么?如果 2 个用户同时请求报告怎么办?如果 50 个用户同时请求报告怎么办?

我的目标是 5 秒,即使在数据量很大和要求复杂的情况下也可以实现。

您应该重新访问您的 SP 代码和/或索引。

于 2013-01-08T02:27:59.543 回答
0

What Mike said. If however you like a reaaally slow report, you can set your session timeout in Web.Config: http://msdn.microsoft.com/en-us/library/h6bb9cz9(vs.80).aspx

于 2013-01-08T14:23:10.597 回答