我在我的 .Net Core 应用程序中使用此代码来忽略 SSL 连接异常:
ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;
ServicePointManager.MaxServicePointIdleTime = 0;
问题是它在第一次或第二次运行时不起作用,之后它工作正常,直到应用程序再次空闲。如果应用程序空闲,第一次或第二次运行将再次失败。
这是完整的代码:
ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;
ServicePointManager.MaxServicePointIdleTime = 0;
using (var client = new WebClient())
{
try
{
client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
string response = client.UploadString(URL, "POST", $"username={Username}&password={Password}");
}
catch (WebException ex)
{
if (ex.Response != null)
ErrorMessage = new StreamReader(ex.Response.GetResponseStream()).ReadToEnd();
ErrorMessage = ex.Message;
}
}
错误信息:
无法建立 SSL 连接,请参阅内部异常。