2012-03-02 37 views
0

我希望我的WCF服務能夠返回一些已知錯誤。即一個定義的FaultContractSpecialized FaultException子類或FaultException <T>

我有點困惑,我應該得到我自己的FaultException子類,或創建一個細節類和使用FaultException<TDetail>

似乎有兩個分散的例子,我只是想知道一般共識是什麼。

我傾向於推導,因爲我認爲客戶端代碼看起來更乾淨MyException而不是WCF中心FaultException<MyExceptionDetail>,但我並沒有對此有任何強烈的感受。

+1

由於您的服務無法返回派生類'FaultException',因此您的選擇很明確。 – 2012-03-02 15:23:51

+0

看來你是正確的,謝謝。我一定找到了一些不好的例子。 – GazTheDestroyer 2012-03-05 19:08:48

回答

0

對於未知或一般故障,您通常應使用FaultException,對於類型故障應使用FaultException<T>

鍵入錯誤更類似於標準.NET中的類型異常,所以它們將是首選的方法。

請注意,您需要在服務合同定義中使用fault contracts,否則即使您拋出FaultException<T>,所有例外都會以FaultException的形式到達客戶端。

相關問題