gpt4 book ai didi

c# - 使用 Web 服务时出错 : An existing connection was forcibly closed

转载 作者:太空狗 更新时间:2023-10-29 20:17:55 25 4
gpt4 key购买 nike

我有一个用 C# 编写的 Winforms 应用程序,它使用来自 Windows 2008 IIS Coldfusion 服务器的 Web 服务。所有 Web 服务调用都成功,只有一个调用失败,大约 50% 的时间会出现以下错误:

System.InvalidOperationException 未被用户代码处理 Message=XML 文档中存在错误 (1254, 7)。

有一个内部异常(exception):

内部异常:System.IO.IOException Message=无法从传输连接读取数据:远程主机强行关闭了现有连接。

我检查了我的 IIS 日志,我收到 503 错误(服务不可用)和 64 的 IIS 代码(指定的网络不再可用)。任何建议都会很棒。

我在 SOAP UI 中运行我的 Web 服务,但出现以下错误:

javax.net.ssl.SSLException:连接已关闭:javax.net.ssl.SSLException:java.net.SocketException:连接重置

此代码在一家公司工作正常,但对于我目前正在工作的这家公司,几乎每次都会弹出此错误。

最佳答案

我不确定这是否适用于 OP 的具体情况,但这可能会帮助现在来到这里的其他人。此异常的一个潜在原因涉及不匹配的安全协议(protocol)。如果您调用的服务器需要 TLS 1.2 并且您使用的是旧版本的 ASP.net(<= 版本 4.0),除非您更改它,否则您将使用旧的安全协议(protocol)进行调用。您可以强制 ASP.net 使用 TLS 1.2(如下所示)。这可以在应用程序的任何位置完成,但我将它放在调用需要 TLS 1.2 的 Web 服务的行之前:

using System.Net;

...

//Enable TLS 1.2
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;

// Call the Web Service that requires TLS 1.2

关于c# - 使用 Web 服务时出错 : An existing connection was forcibly closed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9117628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com