C# 无法每隔一个请求创建SSL/TLS安全通道
我已经阅读了与SSL/TLS错误相关的大多数其他问题。这个问题与PayPal无关(其他许多问题都是如此),我尝试设置SecurityProtocol并使用始终返回true的ServerCertificateValidationCallback。所有这些都没有改变行为,即请求第一次成功完成,然后失败,然后成功,然后失败。我可以在每次重新启动应用程序时重复这种行为 代码如下:C# 无法每隔一个请求创建SSL/TLS安全通道,c#,ssl,webclient,C#,Ssl,Webclient,我已经阅读了与SSL/TLS错误相关的大多数其他问题。这个问题与PayPal无关(其他许多问题都是如此),我尝试设置SecurityProtocol并使用始终返回true的ServerCertificateValidationCallback。所有这些都没有改变行为,即请求第一次成功完成,然后失败,然后成功,然后失败。我可以在每次重新启动应用程序时重复这种行为 代码如下: HttpClient client = new HttpClient(); string url = "https://se
HttpClient client = new HttpClient();
string url = "https://secure.geonames.net/countryInfoJSON?lang=" +
HttpUtility.UrlEncode(lang) + "&username=username";
var countryResponse = await client.GetAsync(url);
如果我使用http而不是https向服务发出请求,每次都可以正常工作。如果我点击Chrome上的https URL,它每次都能正常工作。但是,上面的代码每秒都会失败一次请求。为什么?
以下是堆栈跟踪:
<Message>An error has occurred.</Message>
<ExceptionMessage>
The request was aborted: Could not create SSL/TLS secure channel.
</ExceptionMessage>
<ExceptionType>System.Net.WebException</ExceptionType>
<StackTrace>
at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult) at System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar)
</StackTrace>
发生错误。
请求被中止:无法创建SSL/TLS安全通道。
System.Net.WebException
位于System.Net.Http.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)的System.Net.HttpClientHandler.GetResponseCallback(IAsyncResult ar)
检查您的存储中是否有根证书。friend发现,如果超过一定数量(假设是300左右),并不是所有证书在applocations生命周期内都可用。我们有一个案例,连接似乎随机失败。几天前,Microsoft向Windows Server上的根存储区推送了一些新证书。是否设置了任何本地代理?这很棘手,尤其是因为我无法复制它。此域映射到三个不同的IP。也许您的程序正在循环解析到不同的服务器,并且其中一个服务器的配置方式使其在那里失败,尽管没有报告这一点(即使它们的TLS不安全,也应该可以工作)。是否存在内部异常?异常的HResult
是什么?