EventSource-Rückrufverhalten
Für ein EventCommand.Disable ist der EventSource jetzt als deaktiviert markiert, bevor der Rückruf ausgegeben wird.
Vorheriges Verhalten
Zuvor wurde der EventSource.OnEventCommand(EventCommandEventArgs)-Rückruf für einen EventCommand.Disable ausgegeben, bevor m_eventSourceEnabled=false
festgelegt wurde.
Dies bedeutet, dass EventSource.IsEnabled()true
im Rückruf OnEventCommand(EventCommandEventArgs) für einen Benutzer EventSource zurückgegeben hat, auch wenn der Befehl dazu geführt hat, dass die EventSource
deaktiviert wurde. Der Rückruf erfolgte, nachdem die Möglichkeit zum Senden von Ereignissen deaktiviert wurde. Selbst wenn ein EventSource
versuchte, ein Ereignis auszulösen, wurde er nicht geschrieben.
Neues Verhalten
Jetzt wird die EventSource als deaktiviert markiert, bevor der Rückruf für einen EventCommand.Disable ausgegeben wird.
Eingeführt in Version
- .NET 6-Wartung
- .NET 7-Wartung
Typ des Breaking Changes
Diese Änderung ist eine Verhaltensänderung.
Grund für die Änderung
Diese Änderung war erforderlich, um mehrere EventCounter-Instanzen zu unterstützen. Die Möglichkeit, mehrere Instanzen zu haben, wurde von mehreren Kunden angefordert.
Darüber hinaus hat EventCommand.Enable immer eine konsistente Ansicht ausgegeben: EventSource.IsEnabled() meldet exakt den aktivierten Status, und EventSource
kann Ereignisse aus dem OnEventCommand
-Rückruf schreiben. Durch diese Änderung ist das Verhalten von EventCommand.Disable
konsistent mit EventCommand.Enable
.
Empfohlene Maßnahme
Es ist unwahrscheinlich, dass es ein Szenario gibt, in dem das vorherige Verhalten gewünscht ist, und es gibt keine Möglichkeit, das Verhalten rückgängig machen.