Partager via


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é de la traction dans plusieurs implémentations linguistiques.

Si votre application cible une plateforme autre que .NET 5 ou une version ultérieure, elle connaît 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

Si votre application est indépendante de l’identificateur utilisé pour le suivi distribué, aucune action n’est nécessaire. Bibliothèques telles que ASP.NET Core et HttpClient peuvent consommer ou propager les deux versions du ActivityIdFormat.

Si vous avez besoin d’une interopérabilité avec des systèmes existants, ou que les systèmes actuels s’appuient sur le format de l’identificateur, vous pouvez conserver l’ancien comportement en définissant DefaultIdFormat à ActivityIdFormat.Hierarchical. Vous pouvez également définir un commutateur AppContext de trois façons :

  • 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éfini DOTNET_SYSTEM_DIAGNOSTICS_DEFAULTACTIVITYIDFORMATISHIERARCHIAL sur true ou 1.

API affectées