C#解決訪問API顯示基礎(chǔ)連接已經(jīng)關(guān)閉的問題
故障現(xiàn)象
最近在 Web 部署百度 AI 圖像識(shí)別 AipSdk.dll 封裝庫的時(shí)候,在調(diào)用OCR圖像識(shí)別 API 的時(shí)候,顯示為 “ 基礎(chǔ)連接已經(jīng)關(guān)閉: 接收時(shí)發(fā)生錯(cuò)誤。” ,并且運(yùn)行后直接崩潰:
以身份證識(shí)別為例,如下代碼:
var API_KEY = ""; var SECRET_KEY = ""; var client = new Baidu.Aip.Ocr.Ocr(API_KEY, SECRET_KEY); client.Timeout = 60000; // 修改超時(shí)時(shí)間 Newtonsoft.Json.Linq.JObject result = new Newtonsoft.Json.Linq.JObject(); var options = new Dictionary<string, object>{ {"detect_risk", "true"}, {"detect_direction", "true"}, {"detect_photo", "true"} }; byte[] image = getImageByte(imagePath); result = client.Idcard(image, "front", options);
問題出在 client.Idcard(image, "front", options); 調(diào)用上,這種現(xiàn)象不是每次都會(huì)發(fā)生,在其它部署的 IIS 站點(diǎn)上未發(fā)現(xiàn)此類問題,且部署配置一致。
開發(fā)運(yùn)行環(huán)境
操作系統(tǒng): Windows Server 2019 DataCenter
.net版本: .netFramework4.7.2
開發(fā)工具:VS2019 C#
解決
通過在Page_Load 服務(wù)器事件添加如下語句,解決:
void Page_Load(Object sender, EventArgs e) { System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls | System.Net.SecurityProtocolType.Tls11 | System.Net.SecurityProtocolType.Tls12; }
System.Net.ServicePointManager.SecurityProtocol 屬性可選擇安全套接字層 (SSL) 或傳輸層安全 (TLS) 協(xié)議的版本,以用于新連接,不會(huì)更改現(xiàn)有連接。
System.Net.SecurityProtocolType 指定 Schannel 安全包支持的安全協(xié)議的可選擇項(xiàng)見下表:
序號(hào) | 值 | 說明 |
---|---|---|
1 | Ssl3 | 指定安全套接字層 (SSL) 3.0 安全協(xié)議。 SSL 3.0 已由傳輸層安全性 (TLS) 協(xié)議取代,之所以仍然提供這個(gè)方法,只是為了向后兼容。 |
2 | SystemDefault | 允許操作系統(tǒng)選擇要使用的最佳協(xié)議,并將其用于阻止不安全的協(xié)議。 應(yīng)使用此值,除非應(yīng)用有特定原因不得使用此值。 |
3 | Tls | 指定傳輸層安全 (TLS) 1.0 安全協(xié)議。 TLS 1.0 協(xié)議在 IETF RFC 2246 中定義。 |
4 | Tls1 | 指定傳輸層安全 (TLS) 1.1 安全協(xié)議。 TLS 1.1 協(xié)議在 IETF RFC 4346 中定義。 在 Windows 系統(tǒng)上,從 Windows 7 開始支持此值。 |
5 | Tls2 | 指定傳輸層安全 (TLS) 1.2 安全協(xié)議。 TLS 1.2 協(xié)議在 IETF RFC 5246 中定義。 在 Windows 系統(tǒng)上,從 Windows 7 開始支持此值。 |
到此這篇關(guān)于C#解決訪問API顯示基礎(chǔ)連接已經(jīng)關(guān)閉的問題的文章就介紹到這了,更多相關(guān)C#訪問API顯示連接關(guān)閉內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解.NET 4.0中的泛型協(xié)變(covariant)和反變(contravariant)
這篇文章主要介紹了詳解.NET 4.0中的泛型協(xié)變(covariant)和反變(contravariant),本文講解了協(xié)變和反變的背景知識(shí)、.NET 4.0引入的泛型協(xié)變、反變性、協(xié)變和反變的相互作用等內(nèi)容,需要的朋友可以參考下2015-06-06c#中利用委托反射將DataTable轉(zhuǎn)換為實(shí)體集的代碼
c#中利用委托反射將DataTable轉(zhuǎn)換為實(shí)體集的代碼,需要的朋友可以參考下2012-10-10C#實(shí)現(xiàn)鼠標(biāo)移動(dòng)到曲線圖上顯示值的方法
這篇文章主要介紹了C#實(shí)現(xiàn)鼠標(biāo)移動(dòng)到曲線圖上顯示值的方法,是C#的WinForm窗體程序設(shè)計(jì)中非常實(shí)用的技巧,需要的朋友可以參考下2014-10-10MessageBox的Buttons和三級(jí)聯(lián)動(dòng)效果
這篇文章主要介紹了MessageBox的Buttons和三級(jí)聯(lián)動(dòng)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11對(duì)int array進(jìn)行排序的實(shí)例講解
下面小編就為大家分享一篇對(duì)int array進(jìn)行排序的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2017-12-12