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
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET