WCF分布式開發常見錯誤解決(2)無法從傳輸連接中讀取數據: 遠程主機強迫關閉了一個現有的連接
我們添加客戶端服務引用的時候會出現這樣的錯誤:
下載“http://localhost:8002/WCFService”時出錯。
基礎連接已經關閉: 接收時發生錯誤。
無法從傳輸連接中讀取數據: 遠程主機強迫關閉了一個現有的連接。。
遠程主機強迫關閉了一個現有的連接。
Metadata contains a reference that cannot be resolved: 'http://localhost:8002/WCFService'.
Metadata contains a reference that cannot be resolved: 'http://localhost:8002/WCFService'.
If the service is defined in the current solution, try building the solution and adding the service reference again.
解決辦法:
1.檢查防火牆設置,服務端口是否已經設置為安全端口。
2.檢查WCF服務地址是否正確。此處的地址一定是WCF服務托管宿主進程公布的偵聽地 址,宿主進程啟動後,會在此端口偵聽,是否有請求服務的的查詢請求,當地址錯誤的時 候此請求會宣告失敗。因此要重新確認服務端口是否正確。此例子中為 http://localhost:8001/WCFService不是http://localhost:8002/WCFService。所以才會 出錯。更改地址後就可以正確查詢到服務信息。
3.配置終結點基於HTTP協議,<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />