Partager via


La propagation du contexte de trace par défaut a été mise à jour vers la norme W3C

Le propagateur de contexte de trace par défaut a été basculé du propagateur hérité vers le propagateur W3C. Le nouveau propagateur utilise l’en-tête baggage au lieu de Correlation-Context, applique un encodage compatible W3C et prend uniquement en charge les ID parents de trace au format W3C.

Version introduite

.NET 10

Comportement précédent

Auparavant, la DistributedContextPropagator.CreateDefaultPropagator() méthode retournait une instance du propagateur hérité. Par défaut, DistributedContextPropagator.Current a été défini(e) sur cette instance héritée.

Nouveau comportement

À compter de .NET 10, la DistributedContextPropagator.CreateDefaultPropagator() méthode retourne une instance du propagateur W3C. Par défaut, DistributedContextPropagator.Current est défini sur cette instance W3C.

Exemple de définition du propagateur par défaut sur le propagateur hérité :

DistributedContextPropagator.Current = DistributedContextPropagator.CreatePreW3CPropagator();

Type de changement cassant

Ce changement est un changement de comportement.

Raison de la modification

Cette modification garantit une conformité complète avec les spécifications W3C Trace Context et Baggage. Le propagateur W3C applique une mise en forme stricte pour les éléments "trace parent", "trace state" et "baggage", en s’alignant sur les normes W3C. Le propageur hérité était plus lent et utilisait l’en-tête non standard Correlation-Context pour la propagation des bagages.

Pour plus d’informations, consultez les problèmes GitHub suivants :

Si vous devez conserver le comportement hérité, utilisez la DistributedContextPropagator.CreatePreW3CPropagator() méthode pour récupérer l’instance de propagation héritée. Définissez-le comme propageur actuel, comme indiqué ci-dessous :

DistributedContextPropagator.Current = DistributedContextPropagator.CreatePreW3CPropagator();

API affectées