Comportamento di callback di EventSource
Per un comando EventCommand.Disable, l'oggetto EventSource è ora contrassegnato come disabilitato prima che venga generato il callback.
Comportamento precedente
In precedenza, il callback EventSource.OnEventCommand(EventCommandEventArgs) per EventCommand.Disable veniva generato prima di impostare m_eventSourceEnabled=false
.
Ciò significa che EventSource.IsEnabled() restituiva true
nel callback OnEventCommand(EventCommandEventArgs) per un utente EventSource, anche se il comando determinava la disabilitazione di EventSource
. Il callback si verificava dopo la disattivazione della possibilità di inviare gli eventi, quindi anche se EventSource
tentava di generare un evento, non veniva scritto.
Nuovo comportamento
Ora il comando EventSource è contrassegnato come disabilitato prima che venga generato il callback per EventCommand.Disable.
Versione introdotta
- Manutenzione di .NET 6
- Manutenzione di .NET 7
Tipo di modifica che causa un'interruzione
Questa è una modifica funzionale.
Motivo della modifica
Si tratta di una modifica necessaria per supportare più istanze EventCounter. La possibilità di gestire più istanze è stata richiesta da numerosi clienti.
Inoltre, EventCommand.Enable ha sempre generato una visualizzazione coerente: EventSource.IsEnabled() segnala accuratamente lo stato abilitato e EventSource
può scrivere eventi dal callback OnEventCommand
. Questa modifica rende il comportamento di EventCommand.Disable
coerente con EventCommand.Enable
.
Azione consigliata
È improbabile che esista uno scenario in cui si desidera il comportamento precedente, quindi non è possibile ripristinarlo.