內部異常SocketException由於目標計算機積極拒絕

內部異常SocketException:由於目標計算機積極拒絕,無法連接。127.0.0.1:44386

記錄一次血的教訓QAQ本文只有解決思路沒有具體方法(因爲錯誤不一定是因爲這個)。

上週在做.NETWebService的時候遇到了個問題,這是在用本地提供WebService服務以後出現的錯誤。

QQ圖片20210103205213

在另一個函數中我寫好了myfindbystr方法,裏邊基本沒啥大問題。

image-20210103205949743

記錄坎坷的過程:當時是老師在上面講課給我們敲的代碼,問題就出在myfindbystr這個方法裏,因爲webservice服務的原理是我們在裏邊寫好方法以後,在工程中添加好服務引用後,即可new一個服務對象出來使用這個服務裏的方法,第一步我先檢查了返回類型是否正確,起初沒有多思考只把編譯器改得不報錯即可,但是一次次都無法運行,百度也搜不到,VS的問題實在太冷門了。同樣是這個錯誤,然後這個工程使用的是單文件數據庫,會不會是讀取被鎖定的問題,重新弄個新的數據庫也無法解決,於是諮詢跟我出現同樣問題的同學,他把string[]改成了String,返回類型都對應上就運行成功了,結果我試了不行QAQ當時偶就吐了沒辦法暫時不理了。過了幾天也就是今天,這代碼不修好沒法繼續搞啊QAQ考試又怕考到這個總不能一直卡着,今天可能比較有靈感,盯着錯誤信息來思考可能出現的錯誤就找到了原因(這也是偶的重要收穫)。

出現錯誤以後,我發現報錯信息上雖然寫着的錯誤是無法連接服務器,我就把錯誤定位到數據庫和這個webservice上,其實這麼想是好的,至少對錯誤有某些初步認識,但是錯誤的具體信息我當時沒有看,他是在我的myfindbystr這個函數裏面的第一行,錯誤信息裏的函數竟然跟我寫的函數不一致,我立馬調出他的源碼看是否是我現在這個函數。。很顯然原因是被這個框架的某個協議改變了它的返回類型,傳入的參數其實是string,而返回的參數也只能是string,在WebService1函數中我卻定義成了String,顯然不合理,於是我把返回類型都改成了string就運行成功了。

image-20210103211202647

教訓:出現錯誤的時候或許第一時間能擁有自己常規對錯誤的定位,但錯誤具體位置更需要結合具體錯誤信息分析。因此以後偶一定會多多關注錯誤信息,一些日誌文件,其實它寫得很清楚錯誤出現在哪裏,爲什麼會從這裏報錯而不是其他地方等等,我也意識到不是每一條BUG都能在搜索引擎中找到的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章