ServicePointManager.ServerCertificateValidationCallback 在第一次尝试时不起作用

问题描述

我在我的 .Net Core 应用程序中使用此代码来忽略 SSL 连接异常:

ServicePointManager.ServerCertificateValidationCallback += (sender,cert,chain,sslPolicyErrors) => true;
ServicePointManager.MaxServicePointIdleTime = 0;

问题是它在第一次或第二次运行时不起作用,之后它运行良好,直到应用程序再次空闲。如果应用程序空闲,第一次或第二次运行会再次失败。

完整代码如下:

ServicePointManager.ServerCertificateValidationCallback += (sender,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 连接,请参阅内部异常。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)