描述:某次更新程式,需要給測試員MM測試,之前都是正常的,更新後給MM測試就報異常System.Net.WebException 基礎連接已經關閉:接收時發生錯誤 > System.IO.IOException: 無法從傳輸連接中讀取數據:你的主機中的軟體中止了一個已建立的連接。 排查第一步:首先用 ...
描述:某次更新程式,需要給測試員MM測試,之前都是正常的,更新後給MM測試就報異常System.Net.WebException 基礎連接已經關閉:接收時發生錯誤 -------> System.IO.IOException:
無法從傳輸連接中讀取數據:你的主機中的軟體中止了一個已建立的連接。
排查第一步:首先用自己的電腦測試,發現沒有問題;但是在測試員MM的電腦上就有問題,於是問題定位可能出現在MM電腦環境本身上。
排查第二步:因為程式有記錄了錯誤日誌,於是打開MM電腦的日誌查看,錯誤堆棧如下:
排查第三步: 各種搜索引擎查找資料,嘗試過將httpWebRequest的KeepAlive屬性設置為false,並且同時設置 System.Net.ServicePointManager.Expect100Continue = false;
編譯更新後重新測試依然還是有同樣的錯誤。
至此,實在沒有辦法,因MM電腦是筆記本,使用的是Wifi,且自己的電腦是台式機使用有線網路,於是猜測是由於問題出在Wifi上(後來事實證明,這種猜測是不對的),於是請網路維護人員檢查網路,得到的回覆是“網路本身沒有問題”。
於是陷入了沉思當中,後來再試時無意中發現有右下角有一個“盾牌”的圖標(Win10的Windows Defender),關閉實時防護就解決了問題。
以上只是某種特殊的處理方式,相同的異常並非所有的情況都是相同的處理方式,具體問題需要具體分析,也希望能幫助到遇到同樣問題是同樣原因導致的人。