WCF サービスに IErrorHandler を実装して、何をクライアントに送信するか (ProvideFault) を決定し、例外をログに記録する (HandleError) ようにしました。
このプロセスの一環として、次のことを行います。
- 内部例外の詳細を非表示にする標準テキストを含むエラー コードをクライアントに送信します。
- ログ ファイルのエントリとクライアントからのエラー レポートを照合できるように、エラーを同じエラー コードでログに記録します。
私はこれを調べてきましたが、同じエラー コードが両方のメソッドで使用されることが保証される方法を見つけることができません。HandleError は将来別のスレッドで呼び出されるためです。これは、HandleError が呼び出される前に ProvideFault が 2 回呼び出される可能性があるため、ある種のクラス レベル カウンターを持つことを除外しているように思われます。
誰かが同じ状況に遭遇し、このシナリオで使用するソリューション/パターンを考え出しましたか?