基础连接已关闭:发送时发生意外错误-不可重复

时间:2018-09-21 10:03:52

标签: c# windows-server-2003

我有一个相同的问题here,但在某些情况下它对我不起作用,我将在此进行解释。

该问题的一个答案是将其更改为ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;,但对于使用较新.Net版本但我拥有.Net 4.0版本的用户来说,因此下一个问题的答案对我有所帮助将其设置为

ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;

可以,但是可以在Windows 10, Windows 7, XP....上使用,但是不能用于Windows Server 2003,这是因为Windows server 2003不支持TLS 1.1TLS 1.2

解决方案是检查应用程序启动时的窗口,然后将SecurityProtocol设置为这样的窗口:

if (Environment.OSVersion.Version.Major == 10 || Environment.OSVersion.Version.Major == 6)
{
    ServicePointManager.Expect100Continue = true;
    ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
}
else if(Environment.OSVersion.Version.Major == 5 && Environment.OSVersion.Version.Minor == 2)
{
    ServicePointManager.Expect100Continue = true;
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
}

但是标题出现错误,我猜是因为我使用的是旧版本的.Net 4.0,然后SecurityProtocolType.Ssl3却使它感到困惑。

我猜想解决此问题的方法是使用代码,就像我以前使用的3072,但现在使用Ssl3,但是找不到任何可以尝试的代码。

所以首先我要问是否有人可以为我提供这些代码的链接,其次是问题是否还有其他需要我指出的地方。

编辑:从here中发现SSL 3.0的代码为48,并尝试了与Tls12相同的技巧,但是没有用。现在该怎么办?

0 个答案:

没有答案