Compartilhar via


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.

É improvável que haja um cenário em que o comportamento anterior seja desejado e não haja como reverter o comportamento.

APIs afetadas