底层连接已关闭:接收时发生意外错误。无法确定帧大小或收到损坏的帧

时间:2015-03-05 15:48:02

标签: sql reporting-services report viewer

我在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()

我用Google搜索了相当多的内容,但仍然没有更明智。相同的代码可以连接到其他框上的不同SSRS环境o.k.托管.Net服务器和ssrs服务器之间的防火墙是打开的(正如我所说,当我在浏览器中弹出地址时,我可以看到报告)但是当通过报告查看器控件调用它时会发生这种情况。 SSRS数据源使用的登录凭据也起作用,报表查看器使用服务帐户连接到SSRS框。

如果有人遇到过这个错误并且有几分钟时间写回复,我真的很感激任何建议或想法来解决问题。不幸的是,我没有直接访问托管SSRS的服务器,因为它是另一个部门,但我可以请求他们在短时间内访问。

此致 文斯

1 个答案:

答案 0 :(得分:0)

只记得这一点,并认为我应该写出造成这种情况的原因,以便将来可能对其他人有所帮助:

ICT部门查看了有问题的服务器并说明了这一点 注册表中有一部分SSL配置干扰了SSL通信。我不知道显示我不幸发送的注册表屏幕截图

此致