0

IErrorHandlerを実装したWCFサービスがあります。そのHandleErrorメソッドで、TraceSourceを使用して例外をログに記録しています。

public bool HandleError(Exception error)
{
    tracer.TraceEvent(TraceEventType.Error, 0, error.ToString());
    return true;
}

ただし、このメソッドを入力すると、Trace.CorrelationManager.ActivityIdが、サービスメソッドの開始時に設定したものから変更されます。そのため、ランダムなアクティビティIDを含むログエントリを取得します。これにより、アクティビティトレースが台無しになります。

WCFはこれを行っていますか?なぜ?

4

1 に答える 1

1

WCF のために追加の作業を行う必要があると思います。

このリンクが役立つかどうかを確認してください:

WCF での例外処理のための拡張/カスタム FaultContractExceptionHandler

于 2013-02-15T13:10:43.040 に答える