既定のトレース コンテキスト 伝達子は、レガシ 伝達子から W3C 伝達子に切り替わりました。 新しい伝達子は、baggageではなくCorrelation-Context ヘッダーを使用し、W3C 準拠のエンコードを適用し、W3C 形式のトレース親 ID のみをサポートします。
導入されたバージョン
.NET 10
以前の動作
以前は、 DistributedContextPropagator.CreateDefaultPropagator() メソッドはレガシ 伝達子のインスタンスを返しました。 既定では、 DistributedContextPropagator.Current はこのレガシ インスタンスに設定されています。
新しい動作
.NET 10 以降、 DistributedContextPropagator.CreateDefaultPropagator() メソッドは W3C 伝達子のインスタンスを返します。 既定では、 DistributedContextPropagator.Current はこの W3C インスタンスに設定されます。
例としてデフォルトのプロパゲーターをレガシープロパゲーターに設定する:
DistributedContextPropagator.Current = DistributedContextPropagator.CreatePreW3CPropagator();
破壊的変更の種類
この変更は 動作の変更です。
変更の理由
この変更により、W3C トレース コンテキストと手荷物の仕様に完全に準拠します。 W3C 伝達子は、W3C 標準に合わせて、トレース親、トレース状態、手荷物キーと値に厳密な書式設定を適用します。 従来のプロパゲーターはより寛大で、手荷物の伝播のために非標準の Correlation-Context ヘッダーを使用しました。
詳細については、次の GitHub の問題を参照してください。
推奨されるアクション
従来の動作を保持する必要がある場合は、 DistributedContextPropagator.CreatePreW3CPropagator() メソッドを使用してレガシ 伝達子インスタンスを取得します。 次に示すように、それを現在の伝達子として設定します。
DistributedContextPropagator.Current = DistributedContextPropagator.CreatePreW3CPropagator();
影響を受ける API
.NET