簡単な操作を実行する簡単なWCFサービスがあります。
[OperationContract]
DoSomething (Stuff input);
内部で例外が発生した場合はDoSomething
、aFaultException
が返されます。クライアントが知る必要があるのは、何かがうまくいかなかったかどうかだけだとするとFaultException
、このシナリオでを定義する必要はないと思いますか?
FaultException
を返さないと、チャネルに障害が発生し、再び使用できなくなるため、常に を返すことをお勧めします。
どの情報をクライアントに送信する必要があるかは、構成で (サービス動作で) 決定されます。
<serviceBehaviors>
<behavior name="myName">
<serviceDebug includeExceptionDetailInFaults="true" />
// ....
実際、すべての操作でそれを行う必要がないように、IErrorHandler
すべての例外をキャッチして戻るように常にサービスに動作を実装しています。FaultException<T>