2011-07-28 3 views
2

かなり大きなアプリケーションを開発しており、IErrorHandlerをさまざまな条件で複数の方法で実装したいと考えています。しかし、すべてのインスタンスがすべてのエラーに対して呼び出されるように見えます。 WCFにエラーが特定のインスタンスによって処理されたため、リストに残っているハンドラが呼び出されないようにする方法はありますか?WCFの他のIErrorHandlerをショートカット/バイパスすることは可能ですか?

(もう少し詳しくは、「デフォルト」のエラーハンドラを追加するサードパーティのツールキットを使用しています。つまり、何をしていてもこのハンドラが呼び出され、いくつかの変更が取り消されます)。

答えて

1

プロバイダパターンを使用するだけで、その内部にエラーハンドラのリストが表示されます。その後、あなたが選んだハンドラに委譲したい条件を自由に設定することができます。

つまり、すべてのハンドラを含む1つのエラーハンドラを接続し、多数のハンドラがすべて順番に実行されるようにします。

+0

はい、これは大半の場合に有効です。ただし、Web APIはデフォルトのエラーハンドラをWCFに直接追加するため、エラーハンドラをバイパスする問題は解決しません。幸いにも、去年のオリジナル投稿以来、マイクロソフトはWeb APIコードを更新し、カスタムハンドラがエラーを「処理」したときにデフォルトのハンドラが呼び出されないようにしています。しかし、良い提案。 – SonOfPirate

関連する問題