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.
Rekommenderad åtgärd
Den här ändringen kommer sannolikt inte att orsaka avbrott eftersom det är ovanligt att skapa null
Activity
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
.