Das ActivityIdFormat-Standardformat ist W3C

Das Standardformat für Activity-IDs (Activity.DefaultIdFormat) ist ab sofort ActivityIdFormat.W3C.

Änderungsbeschreibung

Das W3C-Activity-ID-Format wurde in .NET Core 3.0 als Alternative zum hierarchischen ID-Format eingeführt. Aus Kompatibilitätsgründen wurde das W3C-Format jedoch erst in .NET 5 zum Standardformat gemacht. Das Standardformat wurde in .NET 5 geändert, da das W3C-Format ratifiziert und in immer mehr Sprachimplementierungen verwendet wurde.

Wenn Ihre App als Ziel eine andere Plattform als .NET 5 oder höhere Versionen verwendet, gilt das alte Verhalten. Das Standardformat wäre dann also Hierarchical. Dieser Standard gilt für die Plattformen net45 und höher, netstandard1.1 und höher und netcoreapp (1.x, 2.x und 3.x). Ab .NET 5 wird Activity.DefaultIdFormat auf ActivityIdFormat.W3C festgelegt.

Eingeführt in Version

5.0

Wenn die Anwendung nicht vom Bezeichner abhängig ist, der für die verteilte Ablaufverfolgung verwendet wird, ist keine Aktion erforderlich. Bibliotheken wie ASP.NET Core und HttpClient können beide Versionen von ActivityIdFormat verwenden oder verteilen.

Wenn eine Interoperabilität mit vorhandenen Systemen erforderlich ist oder aktuelle Systeme auf dem Format des Bezeichners basieren, können Sie das alte Verhalten beibehalten, indem Sie DefaultIdFormat auf ActivityIdFormat.Hierarchical festlegen. Alternativ können Sie einen Wechsel von AppContext auf drei Weisen umsetzen:

  • In der Projektdatei.

    <ItemGroup>
      <RuntimeHostConfigurationOption Include="System.Diagnostics.DefaultActivityIdFormatIsHierarchial" Value="true" />
    </ItemGroup>
    
  • In der runtimeconfig.json-Datei.

    {
        "runtimeOptions": {
            "configProperties": {
                "System.Diagnostics.DefaultActivityIdFormatIsHierarchial": true
            }
        }
    }
    
  • Über eine Umgebungsvariable.

    DOTNET_SYSTEM_DIAGNOSTICS_DEFAULTACTIVITYIDFORMATISHIERARCHIAL wird auf true oder 1 festgelegt.

Betroffene APIs