做接口的过程中,在没有修改代码的情况下,WCF突然不可用。报错为:System.Net.WebException: 基础连接已经关闭: 发送时发生错误。
HttpWebResponse resp = req.GetResponse() as HttpWebResponse;
返回的resp为NULL,郁闷了好久。。
网上查阅资料,说法非常多: 大概为这些。
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
request.ProtocolVersion = HttpVersion.Version10;
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
查阅资料发现,大多跟安全协议有关。环境为.NET4.0。询问得知, HTTP请求的网页,采用SSL Protocol:TLS v1.2,
我的代码为:
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;