次の方法で共有


EventSource コールバックの動作

EventCommand.Disableの場合、コールバックが発行されるEventSourceに、が無効としてマークされるようになりました。

以前の動作

以前は、EventSource.OnEventCommand(EventCommandEventArgs)を設定する前に、EventCommand.Disableに対してm_eventSourceEnabled=falseコールバックが発行されていました。

つまり、EventSource.IsEnabled()コマンドによってtrueが無効になった場合でも、ユーザー OnEventCommand(EventCommandEventArgs)EventSource コールバックでEventSourceが返されます。 ただし、イベントをディスパッチする機能がオフになった後にコールバックが発生したので、 EventSource がイベントを発生しようとしたとしても、それは書き込まれませんでした。

新しい動作

これで、EventSourceは、に対してコールバックが発行されるEventCommand.Disable無効としてマークされます。

導入されたバージョン

  • .NET 6 サービス
  • .NET 7 サービス

破壊的変更の種類

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

変更の理由

この変更は、複数の EventCounter インスタンスをサポートするために必要でした。 複数のインスタンスを持つ機能は、複数の顧客によって要求されています。

さらに、EventCommand.Enable は常に一貫した見解を示しています。EventSource.IsEnabled() は有効な状態を正確に報告し、EventSourceOnEventCommand コールバックからイベントを書き込むことができます。 この変更により、 EventCommand.Disable の動作が EventCommand.Enableと一致します。

以前の動作が必要なシナリオがあり、動作を元に戻す方法がない可能性はほとんどありません。

影響を受ける API