Partager via


Comportement du rappel EventSource

Pour un EventCommand.Disable, EventSource est maintenant marqué comme désactivé avant l’émission du rappel.

Comportement précédent

Auparavant, le rappel EventSource.OnEventCommand(EventCommandEventArgs) était émis pour EventCommand.Disable avant de définir m_eventSourceEnabled=false.

Cela signifie que EventSource.IsEnabled() retournait true dans le rappel OnEventCommand(EventCommandEventArgs) pour un utilisateur EventSource, même si la commande conduisait à la désactivation de EventSource. Le rappel se produisait une fois la possibilité de distribuer des événements désactivée. Par conséquent, même si un événement EventSource essayait de déclencher un événement, il n’était pas écrit.

Nouveau comportement

À présent, le EventSource est marqué comme désactivé avant l’émission du rappel pour EventCommand.Disable.

Version introduite

  • Maintenance de .NET 6
  • Maintenance de .NET 7

Type de changement cassant

Ce changement est un changement de comportement.

Raison du changement

Ce changement était nécessaire pour prendre en charge plusieurs instances de EventCounter. La possibilité d’avoir plusieurs instances a été demandée par de nombreux clients.

En outre, EventCommand.Enable a toujours proposé une vue cohérente : EventSource.IsEnabled() signale avec précision l’état activé, et EventSource peut écrire des événements à partir du rappel OnEventCommand. Cette modification rend cohérent le comportement de EventCommand.Disable avec EventCommand.Enable.

Il est peu probable qu’il existe un scénario où le comportement précédent est souhaité et qu’il n’existe aucun moyen de rétablir le comportement.

API affectées