ログ/トレースに System.Diagnostics TraceSource を使用する場合、TraceSource.TraceTransfer と TraceSource.TraceEvent(TraceEventType.Transfer, ... の使用に違いはありますか?
この環境では、WCF を介して通信する多数のサービスを開発します。また、ロギング/トレースに使用するプラットフォームを評価しています。少なくとも部分的には、CorrelationManager、ActivityID、TraceTransfer などを使用してサービス間でログを関連付けることができるため、System.Diagnostics の使用に傾いています。
TraceSource のドキュメントを見ると、TraceTransfer メソッドと、TraceEventType.Transfer をイベント タイプとして使用できる TraceEvent があることがわかります。いつどちらを使用しますか? Start/Stop の使用方法と、ActivityID および CorrelationManager の管理方法を示すhereのような例を見てきましたが、TraceSource.TraceEvent(TraceEventType.Transfer, ... ) を使用している人はほとんど見たことがありません。ここに、TraceEventType.Transfer の使用 (および明示的な TraceTransfer の呼び出し) を示す例があります。
この時点で、私は実際に自分の質問に答え始めているかもしれません...
TraceSource.TraceTransfer は、パラメーターとして渡される ActivityID を使用して明示的に何かを行っているようですが、TraceSource.TraceEvent(TraceEventType.Transfer, ...) を呼び出しても ActivityID を使用して明示的に何もしていないようです (パラメーターとして渡されないため)。 )。本当に別のイベントをログに記録しているように見えますが、それはたまたま Transfer イベントですが、CorrelationManager などでは何もしません。
助けてくれてありがとう。