null の場合のアクティビティ操作名

.NET 8 以降では、操作名に null を使用して Activity オブジェクトを作成すると、操作名は null ではなく空の文字列 ("") として保存されます。

以前の動作

以前は、null 操作名を使用して Activity オブジェクトを作成した場合、アクティビティ内の操作名は null として保存されていました。

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

新しい動作

.NET 8 以降では、null 操作名を使用して Activity オブジェクトを作成すると、操作名は空の文字列として保存されます。

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

導入されたバージョン

.NET 8 Preview 1

破壊的変更の種類

この変更は、動作変更です。

変更理由

Activity オブジェクト内の null 操作名は、バックエンド トレース コレクターに望ましくない影響を与える場合があります。これは通常、null 以外の操作名を想定しています。 クラッシュを回避するには、Activity オブジェクト内の null 操作名を、トレース コレクターで特殊なケースとして扱う必要があります。 この変更により、特殊なケースの要件が削除されます。

この変更により、Activity オブジェクトの作成時に null を使用することはまれであるため、中断を引き起こす可能性は低いです。 何らかの理由でコードが操作名の null 値に依存している場合は、null を使用しないようにコードを調整するか、null を指定するときに操作名が空の文字列として保存されることを想定します。

影響を受ける API