Dela via


Aktivitetsåtgärdsnamn när null

Från och med .NET 8, om du skapar ett Activity objekt som använder null för åtgärdsnamnet, lagras åtgärdsnamnet som en tom sträng ("") i stället för null.

Tidigare beteende

Om du tidigare skapade ett Activity objekt med hjälp av ett null åtgärdsnamn lagrades åtgärdsnamnet i aktiviteten som null.

new Activity(operationName: null).OperationName // Value is null.

Nytt beteende

Från och med .NET 8 lagras åtgärdsnamnet som en tom sträng om du skapar ett Activity objekt med ett null åtgärdsnamn.

new Activity(operationName: null).OperationName // Value is "".

Version introducerad

Förhandsversion 1 av .NET 8

Typ av icke-bakåtkompatibel ändring

Den här ändringen är en beteendeförändring.

Orsak till ändringen

Ett null åtgärdsnamn i ett Activity objekt kan ha en oönskad effekt på serverdelsspårningsinsamlare, som vanligtvis förutsätter icke-null-åtgärdsnamn. För att undvika krascher måste spårningsinsamlare använda specialfallsåtgärdsnamn null i ett Activity objekt. Den här ändringen tar bort specialfallskravet.

Den här ändringen kommer sannolikt inte att orsaka avbrott eftersom det är ovanligt att skapa nullActivity objekt. Om koden av någon anledning var beroende av värdet för åtgärdsnamnet null justerar du koden så att den antingen inte används null eller förväntar dig att åtgärdsnamnet lagras som en tom sträng när du anger null.

Berörda API:er