預設的追蹤上下文傳播器已從舊版傳播器切換到 W3C 傳播器。 新的傳播器會使用 baggage 標頭,而不是 Correlation-Context,會強制執行 W3C 相容的編碼,且僅支援 W3C 格式的追蹤父標識符。
推出的版本
.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();