2012-03-02 10 views
0

私は私のWCFサービスは、いくつかの既知の障害を返すことができるようにしたいです。つまり、定義されたFaultContract専門FaultExceptionサブクラスまたはFaultException <T>

私は自分自身のFaultExceptionサブクラスを派生させるべきか、または詳細クラスを作成してFaultException<TDetail>を使用するべきかどうか混乱します。

は、両方の例については散乱し、私はちょうど一般的なコンセンサスが何であったか疑問に思いがあるように思われます。

私は、クライアントコードがWCF中心のFaultException<MyExceptionDetail>ではなく、MyExceptionをよりきれいに捕まえるように見えると思うので、私は派生に傾いていますが、実際にはそれについて強い感情はありません。

+1

あなたのサービスが 'FaultException'の派生クラスを返す方法はないので、あなたの選択は明確です。 –

+0

あなたが正しいと思われる、ありがとう。私はいくつかの悪い例を見つけたに違いない。 – GazTheDestroyer

答えて

0

あなたは、入力された障害のために、一般的に、未知または汎用の故障のためFaultException、およびFaultException<T>を使用する必要があります。

型指定された障害は、標準の.NETの例外を入力する方が似ているので、彼らは、好ましい方法になります。

サービス契約の定義でfault contractsを使用する必要があります。そうでない場合は、FaultException<T>を投函しても、すべての例外がクライアントに到達します。FaultException

関連する問題