【问题标题】:The underlying connection was closed: An unexpected error occurred on a receive. Cannot determine the frame size or a corrupted frame was received底层连接已关闭:接收时发生意外错误。无法确定帧大小或收到损坏的帧
【发布时间】: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


【解决方案1】:

刚刚想起这件事,并认为我应该写下造成这种情况的原因,以便将来对其他人有所帮助:

ICT 部门查看了有问题的服务器并表示 注册表中有一部分 SSL 配置以某种方式干扰了 SSL 通信。不幸的是,我没有显示我收到的注册表屏幕截图的声誉

问候

【讨论】:

    猜你喜欢
    • 2023-01-13
    • 2011-01-25
    • 2014-03-10
    • 2020-06-24
    相关资源
    最近更新 更多