WCF 服務錯誤:「無法建立連線...」排錯指南
當嘗試透過 WCF 流上傳檔案時遇到錯誤訊息「無法建立連接,因為目標電腦主動拒絕了它 127.0.0.1:3446」時,請務必確定根本原因。
可能原因及解決方法:
「主動拒絕」錯誤表示主機拒絕了連線嘗試。這可能是由於防火牆阻止了連接,或者服務主機未在指定的連接埠 (3446) 上偵聽。
檢查防火牆設定:確保防火牆沒有阻止與服務的連線。考慮暫時禁用防火牆進行測試。
驗證服務主機狀態:確認託管 WCF 實現的服務正在運行,並在正確的連接埠上偵聽。在命令提示字元中執行以下命令:
<code> netstat -anb</code>
(對於 Linux 系統,更改為“netstat -anp”)
驗證服務是否已列出並在預期連接埠上偵聽。
本地測試:建立一個簡單的測試應用程式以本地連接到服務。這將有助於隔離任何網路問題。例如:
<code class="language-c#"> byte[] fileStream; using (FileStream fs = new FileStream("E:\stream.txt", FileMode.Open, FileAccess.Read, FileShare.Read)) { fileStream = new byte[fs.Length]; fs.Read(fileStream, 0, (int)fs.Length); } string baseAddress = "http://localhost:3446/File/AddStream/stream.txt"; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(baseAddress); request.Method = "POST"; request.ContentType = "text/plain"; Stream serverStream = request.GetRequestStream(); serverStream.Write(fileStream, 0, fileStream.Length);</code>
如果本地測試成功,問題可能在於外部網路連線或伺服器配置。
以上是WCF 服務連接被拒絕:如何排除「無法建立連接,因為目標電腦主動拒絕 127.0.0.1:3446」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!