EventSource コールバックの動作
EventCommand.Disable の場合、コールバックが発行される "前に"、EventSource が無効としてマークされるようになりました。
以前の動作
以前は、m_eventSourceEnabled=false
を設定する前に、EventCommand.Disable に対して EventSource.OnEventCommand(EventCommandEventArgs) コールバックが発行されていました。
これは、コマンドによって EventSource
が無効になった場合でも、ユーザー EventSource の OnEventCommand(EventCommandEventArgs) コールバックで EventSource.IsEnabled() により true
が返されることを意味します。 しかし、コールバックはイベントをディスパッチする機能がオフになった後に発生したため、EventSource
によりイベントの発生が試みられても、それは書き込まれませんでした。
新しい動作
これで、コールバックが EventCommand.Disable に対して発行される "前に"、EventSource が無効としてマークされます。
導入されたバージョン
- .NET 6 サービス
- .NET 7 サービス
破壊的変更の種類
この変更は、動作変更です。
変更理由
この変更は、複数の EventCounter インスタンスをサポートするために必要でした。 複数のインスタンスを持つ機能は、複数のお客様からのご要望をいただいていました。
さらに、EventCommand.Enable は常に一貫性のあるビューを発行してきました。EventSource.IsEnabled() により有効な状態が正確に報告され、EventSource
は OnEventCommand
コールバックからイベントを書き込むことができます。 この変更により、EventCommand.Disable
の動作が EventCommand.Enable
と一致します。
推奨される操作
以前の動作が望ましいシナリオがあり、動作を元に戻す方法がないという可能性はほとんどありません。
影響を受ける API
.NET