1. 程式人生 > >WCF錯誤:由於目標計算機積極拒絕,無法連線

WCF錯誤:由於目標計算機積極拒絕,無法連線

今天學習WCF時用C#重寫測試例子時,發生錯誤:由於目標計算機積極拒絕,無法連線。找了N久,網上也沒有找到實際的解決方法。檢視netstat -an發現當自承載宿主執行時,沒有偵聽配置的埠。開始總以為是配置問題。到最後終於開始懷疑是程式的問題。

最後檢查程式發現,

using (ServiceHost host = new ServiceHost(typeof(Artech.WcfServices.Services.CalculatorService  )))
            { 
                Console.WriteLine("Started! ");
                //啟動承載
                host.Open();
                
            }
Console.ReadKey();

看似宿主在執行,其實,host已經過了 生存期被關閉了。由於console.readky在using外部,所以一直以為宿主是執行的。其實不然。

於是修改為:

using (ServiceHost host = new ServiceHost(typeof(Artech.WcfServices.Services.CalculatorService  )))
            { 
                Console.WriteLine("Started! ");
                //啟動承載
                host.Open();
                Console.ReadKey();
            }

一切OK。這個小問題卻耗了我半下午時間來查詢。

這也說明學習不能只停留在表面,對於using的用法實際上是沒有掌握。慚愧!