Dela via


Standard ActivityIdFormat är W3C

Standardformatet för identifierare för aktivitet (Activity.DefaultIdFormat) är nu ActivityIdFormat.W3C.

Ändra beskrivning

W3C-aktivitets-ID-formatet introducerades i .NET Core 3.0 som ett alternativ till det hierarkiska ID-formatet. Men för att bevara kompatibiliteten gjordes W3C-formatet inte som standard förrän .NET 5. Standardvärdet ändrades i .NET 5 eftersom W3C-formatet har ratificerats och fått fäste i flera språkimplementeringar.

Om din app riktar in sig på en annan plattform än .NET 5 eller senare, kommer den att uppleva det gamla beteendet, där Hierarchical är standardformatet. Det här standardvärdet gäller för plattformarna net45+, netstandard1.1+ och netcoreapp (1.x, 2.x och 3.x). I .NET 5 och senare Activity.DefaultIdFormat anges till ActivityIdFormat.W3C.

Version introducerad

5,0

Om ditt program är agnostiskt för identifieraren som används för distribuerad spårning behövs ingen åtgärd. Bibliotek som ASP.NET Core och HttpClient kan använda eller sprida båda versionerna ActivityIdFormatav .

Om du behöver samverkan med befintliga system, eller om aktuella system förlitar sig på identifierarens format, kan du bevara det gamla beteendet genom att ange DefaultIdFormat till ActivityIdFormat.Hierarchical. Du kan också ange en AppContext-växel på något av tre sätt:

  • I projektfilen.

    <ItemGroup>
      <RuntimeHostConfigurationOption Include="System.Diagnostics.DefaultActivityIdFormatIsHierarchial" Value="true" />
    </ItemGroup>
    
  • I filen runtimeconfig.json .

    {
        "runtimeOptions": {
            "configProperties": {
                "System.Diagnostics.DefaultActivityIdFormatIsHierarchial": true
            }
        }
    }
    
  • Via en miljövariabel.

    Ange DOTNET_SYSTEM_DIAGNOSTICS_DEFAULTACTIVITYIDFORMATISHIERARCHIAL till true eller 1.

Berörda API:er