Comportamento de retorno de chamada EventSource
Para um EventCommand.Disable, o EventSource agora está marcado como desabilitado antes do retorno de chamada ser emitido.
Comportamento anterior
Anteriormente, o EventSource.OnEventCommand(EventCommandEventArgs) retorno de chamada era emitido para um EventCommand.Disable antes de definir m_eventSourceEnabled=false
.
Isso significava que EventSource.IsEnabled() retornava true
no OnEventCommand(EventCommandEventArgs) retorno de chamada para um usuário EventSource, mesmo se o comando levou à EventSource
desabilitação. O retorno de chamada aconteceu depois que a capacidade de expedir eventos foi desativada, então mesmo que um EventSource
tentasse disparar um evento, ele não foi escrito.
Novo comportamento
Agora, o EventSource é marcado como desabilitado antes do retorno de chamada ser emitido para um EventCommand.Disable.
Versão introduzida
- Manutenção do .NET 6
- Manutenção do .NET 7
Tipo de alteração interruptiva
Esta é uma alteração comportamental.
Motivo da alteração
Essa alteração foi necessária para dar suporte a várias instâncias de EventCounter. A capacidade de ter várias instâncias foi solicitada por vários clientes.
Além disso, EventCommand.Enable sempre emitiu uma exibição consistente: EventSource.IsEnabled() relata com precisão o status habilitado e EventSource
pode gravar eventos do OnEventCommand
retorno de chamada. Essa alteração torna o comportamento EventCommand.Disable
consistente com EventCommand.Enable
.
Ação recomendada
É improvável que haja um cenário em que o comportamento anterior seja desejado e não haja como reverter o comportamento.