Freigeben über


Das ActivityIdFormat-Standardformat ist W3C

Das Standardbezeichnerformat für Aktivität (Activity.DefaultIdFormat) ist jetzt ActivityIdFormat.W3C.

Änderungsbeschreibung

Das W3C-Aktivitäts-ID-Format wurde in .NET Core 3.0 als Alternative zum hierarchischen ID-Format eingeführt. Um jedoch die Kompatibilität zu erhalten, wurde das W3C-Format erst bis .NET 5 als Standard festgelegt. Die Standardeinstellung wurde in .NET 5 geändert, da das W3C-Format ratifiziert wurde und in mehreren Implementierungen verschiedener Programmiersprachen an Bedeutung gewonnen hat.

Wenn Ihre App auf eine andere Plattform als .NET 5 oder höher ausgerichtet ist, tritt das alte Verhalten auf. Hierarchical Dabei handelt es sich um das Standardformat. Dieser Standardwert gilt für Plattformen net45+, netstandard1.1+ und netcoreapp (1.x, 2.x und 3.x). In .NET 5 und höher wird Activity.DefaultIdFormat auf ActivityIdFormat.W3C festgelegt.

Eingeführte 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 der ActivityIdFormat sowohl konsumieren als auch weiterverbreiten.

Wenn Sie eine Interoperabilität mit vorhandenen Systemen benötigen oder aktuelle Systeme auf das Format des Bezeichners angewiesen sind, können Sie das alte Verhalten beibehalten, indem Sie DefaultIdFormat auf ActivityIdFormat.Hierarchical setzen. Alternativ können Sie einen AppContext-Switch auf eine von drei Arten festlegen:

  • In der Projektdatei.

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

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

    Setzen Sie DOTNET_SYSTEM_DIAGNOSTICS_DEFAULTACTIVITYIDFORMATISHIERARCHIAL auf true oder 1.

Betroffene APIs