公司的排程無法成功更新DB
看了LOG中出現[無法建立SSL/TLS的安全通道]
以下為解決方法
using ( WebClient client = new WebClient() ) {
//加入的程式碼===========
System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
ServicePointManager.SecurityProtocol =
SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
//======================
client.Encoding = Encoding.UTF8;
engResponse = client.DownloadString(mEngNewDataUrl);
}
其中SecurityProtocolType.Tls12須將.NET Framawork 升至4.6版本才可使用
Ssl3, Tls則是已經不支援(就不打在上方程式中)
.NET Framawork 版本的設定方式:
在方案總管點右鍵==>屬性
選擇較高的版本,這邊直接選4.8,
如果要選4.8則是要去https://dotnet.microsoft.com/download/dotnet-framework/net48下載
因為是開發要用的,所以下載開發包並安裝,
安裝完後程式才能鍵出SecurityProtocolType.Tls12,
執行程式就不會再出現無法建立SSL/TLS的安全通道的訊息
將程式上到正式機運行,出現以下畫面
原因是正式機並沒有安裝4.8版本,這時回到上一步下載並安裝[運行包]即可
2021/12/6補充:
如果遇到主機無法對外連線的狀況,以上方式將無法使用,需另外下載離線版的安裝