27

有谁知道这意味着什么?

System.Net.WebException:基础连接已关闭:发送时发生意外错误。---> System.IO.IOException: 由于意外的数据包格式,握手失败。在 System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest) 在 System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) 在 System.Net.Security.SslState。 CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest) 在 System.Net.Security.SslState。

编辑:

这是我调用的方法:

_productsService = new ProductsPortTypeClient(); _productsService.GetResortProducts(GetProductsCredentials(), GetResortProductParams());

4

4 回答 4

31

看起来是 SSL 身份验证的问题,在握手阶段失败,可能两个实现不兼容,您可以检查响应的 WSDL 格式,确定应该使用哪种格式进行通信并检查您发送的格式是否符合使用它(您可以使用任何类型的网络监控软件,例如 Microsoft Network Monitor)

于 2011-03-03T10:46:46.930 回答
8

我只是想根据其中一条评论做出回答,因为它可能会导致此错误发生。

在某些情况下,如果您有一段BaseURL时间调用 a API,那么如果您混淆了http和,则可能会出现问题https。这发生在我打电话给 Google 时API。在某些情况下,这是一个简单的修复方法,并且可能发生在任何人身上。

希望这个帮助的人出来。

于 2020-03-31T14:53:19.010 回答
7

就我而言,它是 Skype 阻止 443 端口。转到 Skype 工具-高级连接并禁用“使用端口 80 和 443 进行连接...”

于 2016-06-03T09:27:46.607 回答
3

摘要:使用了错误的端口。

我的服务在端口:58328 上的开发中运行,但下次我调试它在端口:44315 上运行,这导致了问题。因此,将客户端的端口更改为 44315 有助于解决问题!

于 2018-03-15T16:11:22.717 回答