到目前为止,在这个项目中,我在 VS2008/BIDS 中有两个报告。第一个包含 1 个 tablix,大约 100k。第二个包含 3 个 tablix(tablices?),大约 257k。我可以从 VS 成功部署较小的报告,并且可以从 IE 的报告管理器上传它。我可以从报表管理器查看/运行它,并且可以从我的浏览器访问报表服务器(Web 服务)URL。一切都是通过 HTTPS 完成的,证书没有任何问题。
使用较大的报告,我在 VS 中得到的错误是大约 100 秒后“操作已超时”。我从 IE 上传时的错误是大约 130 秒后“底层连接已关闭:发送时发生意外错误”。
在 RSReportServer.config 文件中,我尝试将 Authentication/EnableAuthPersistence 从 true 更改为 false 并重新启动服务,但仍然出现错误。我将密钥“SecureConnectionLevel”设置为 2。将其更改为 0 并关闭 SSL 将不是一个选项。我在 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters 中添加了一个名为“MaxRequestBytes”的注册表项,并将其设置为 5242880 (5MB),并按照 MSFT 的 Jin Chen 在论坛帖子中的建议重新启动了 HTTP 和 SRS 服务。
我仍然无法上传更大的报告。这是在 MS SQL 2008 和 WS 2003 上。下面是我尝试从 IE 上传时来自 ...\Reporting Services\LogFiles 的日志文件条目的一部分。
library!WindowsService_0!89c!02/10/2010-07:57:57::i 信息:对 CleanBatch() 的调用结束 ui!ReportManager_0-1!438!02/10/2010-07:59:33::e 错误:底层连接已关闭:发送时发生意外错误。 ui!ReportManager_0-1!438!02/10/2010-07:59:34:: e 错误:HTTP 状态码 --> 500 - - - -细节 - - - - System.Net.WebException:基础连接已关闭:发送时发生意外错误。 ---> System.IO.IOException:无法将数据写入传输连接:已建立的连接被主机中的软件中止。 ---> System.Net.Sockets.SocketException:已建立的连接被主机中的软件中止 在 System.Net.Sockets.Socket.MultipleSend(BufferOffsetSize[] 缓冲区,SocketFlags socketFlags) 在 System.Net.Sockets.NetworkStream.MultipleWrite(BufferOffsetSize[] 缓冲区) --- 内部异常堆栈跟踪结束 --- ...