2009-06-14 109 views
1

我主持一個自我淨的Tcp WCF服務,我有以下方法WCF服務中的錯誤報告?

 Subscribtion GetSubscribtion(int subscribtionId) 
     { 
      Subscribtion s; 
      if (_subscribtionTable.TryGetValue(subscribtionId, out s) == false) 
      { 
       Console.WriteLine("Not Found SessionID");//for debugging 
       throw new ArgumentException("Invalid Subscription Id"); 
      } 
      return s; 
     } 

拋出異常是報告服務的編程錯誤回報一個好的做法呢?

回答

2

由於WCF本質上可以與non-.NET平臺互操作,使用異常這是一個嚴格的.NET構造是一個壞主意。如果您有WCF連接(例如,在會話場景中),它通常也會中斷您的WCF連接。

要走的路是使用互操作的SOAP錯誤,甚至可以傳輸到非.NET客戶端。

馬克

+0

但這是淨TCP服務,所以我相信所有的客戶都.Net應用程序 – 2009-06-15 05:57:15