【发布时间】:2015-03-05 15:48:01
【问题描述】:
我在 2003 服务器上托管的 .Net 应用程序上部署了一个报表查看器控件。当我调用任何报告(所有这些都在 SSRS 服务器上并通过浏览器工作)时,我在日志中收到以下错误。
System.Net.WebException:底层连接已关闭: 接收时发生意外错误。 ---> System.IO.IOException: 无法确定帧大小或收到损坏的帧。
其余的异常如下:
at System.Net.Security._SslStream.StartFrameBody(Int32 readBytes, Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security._SslStream.StartFrameHeader(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security._SslStream.StartReading(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security._SslStream.ProcessRead(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.TlsStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.PooledStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.Connection.SyncRead(HttpWebRequest request, Boolean userRetrievedStream, Boolean probeRead)
--- End of inner exception stack trace ---
at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
at Microsoft.Reporting.WebForms.Internal.Soap.ReportingServices2005.Execution.RSExecutionConnection.GetWebResponse(WebRequest request)
at Microsoft.Reporting.WebForms.ServerReportSoapProxy.GetWebResponse(WebRequest request)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at Microsoft.Reporting.WebForms.Internal.Soap.ReportingServices2005.Execution.ReportExecutionService.LoadReport2(String Report, String HistoryID)
at Microsoft.Reporting.WebForms.Internal.Soap.ReportingServices2005.Execution.RSExecutionConnection.<>c__DisplayClass2.<LoadReport>b__0()
at Microsoft.Reporting.WebForms.Internal.Soap.ReportingServices2005.Execution.RSExecutionConnection.ProxyMethodInvocation.Execute[TReturn](RSExecutionConnection connection, ProxyMethod`1 initialMethod, ProxyMethod`1 retryMethod)
at Microsoft.Reporting.WebForms.Internal.Soap.ReportingServices2005.Execution.RSExecutionConnection.LoadReport(String Report, String HistoryID)
at Microsoft.Reporting.WebForms.ServerReport.EnsureExecutionSession()
at Microsoft.Reporting.WebForms.ServerReport.GetParameters()
at XXXXXXXX.Web.Reports.ReportViewer_SSRS.SetParameters(NameValueCollection qsVars)
at XXXXXXXX.Web.Reports.ReportViewer_SSRS.RetrieveAndDisplayReport()
我已经用谷歌搜索了很多,但仍然没有更聪明。相同的代码可以连接到其他盒子上的不同 SSRS 环境。托管 .Net 服务器和 ssrs 服务器之间的防火墙是打开的(正如我所说,当我在浏览器中弹出地址时我可以看到报告)但是当通过报告查看器控件调用它时会发生这种情况。 SSRS 数据源使用的登录凭据也可以使用,并且报告查看器使用服务帐户连接到 SSRS 框。
如果有人遇到过这个错误并且有几分钟的时间来写一个回复,我真的很感激任何解决问题的建议或想法。不幸的是,我无法直接访问托管 SSRS 的服务器,因为它是另一个部门,但我可以请求他们在短时间内访问。
问候 文斯
【问题讨论】:
-
您应该格式化您的错误以使其更易于阅读。可能只包括有用的部分。您可能还想添加任何有助于我们诊断您的问题的相关代码。
标签: sql reporting-services report viewer