La valeur ActivityIdFormat par défaut est W3C
Le format d’identificateur par défaut pour l’activité (Activity.DefaultIdFormat) est maintenant ActivityIdFormat.W3C.
Description de la modification
Le format d’ID d’activité W3C a été introduit dans .NET Core 3.0 comme alternative au format d’ID hiérarchique. Toutefois, pour préserver la compatibilité, le format W3C n’a pas été défini par défaut avant .NET 5. La valeur par défaut a été modifiée dans .NET 5, car le format W3C a été ratifié et a gagné en popularité dans plusieurs implémentations linguistiques.
Si votre application cible une plateforme autre que .NET 5 ou version ultérieure, elle subira l’ancien comportement, où Hierarchical est le format par défaut. Cette valeur par défaut s’applique aux plateformes net45+, netstandard1.1+ et netcoreapp (1.x, 2.x et 3.x). Dans .NET 5 et versions ultérieures, Activity.DefaultIdFormat est défini sur ActivityIdFormat.W3C.
Version introduite
5,0
Action recommandée
Si votre application est indépendante de l’identificateur utilisé pour le suivi distribué, aucune action n’est nécessaire. Les bibliothèques telles que ASP.NET Core et HttpClient peuvent consommer ou propager les deux versions de ActivityIdFormat.
Si vous avez besoin d’interopérabilité avec des systèmes existants ou si les systèmes actuels s’appuient sur le format de l’identificateur, vous pouvez conserver l’ancien comportement en définissant DefaultIdFormat sur ActivityIdFormat.Hierarchical. Vous pouvez également définir un commutateur AppContext de l’une des trois manières suivantes :
Dans le fichier projet.
<ItemGroup> <RuntimeHostConfigurationOption Include="System.Diagnostics.DefaultActivityIdFormatIsHierarchial" Value="true" /> </ItemGroup>
Dans le fichier runtimeconfig.json.
{ "runtimeOptions": { "configProperties": { "System.Diagnostics.DefaultActivityIdFormatIsHierarchial": true } } }
Via une variable d’environnement.
Définissez
DOTNET_SYSTEM_DIAGNOSTICS_DEFAULTACTIVITYIDFORMATISHIERARCHIAL
surtrue
ou 1.