Поведение обратного вызова EventSource
Для объекта EventCommand.DisableEventSource теперь помечается как отключенный до выдачи обратного вызова.
Прежнее поведение
Ранее обратный EventSource.OnEventCommand(EventCommandEventArgs) вызов был выдан для предварительного EventCommand.Disable задания m_eventSourceEnabled=false
.
Это означало, что EventSource.IsEnabled() он вернулся true
в обратном OnEventCommand(EventCommandEventArgs) вызове для пользователя EventSource, даже если команда привела к EventSource
отключению. Обратный вызов произошел после того, как возможность отправки событий была отключена, так что даже если EventSource
пыталась вызвать событие, он не был написан.
Новое поведение
Теперь маркер EventSource помечается как отключенный до выдачи обратного EventCommand.Disableвызова.
Представленные версии
- Обслуживание .NET 6
- Обслуживание .NET 7
Тип критического изменения
Причина изменения
Это изменение необходимо для поддержки нескольких EventCounter экземпляров. Возможность иметь несколько экземпляров запрашивается несколькими клиентами.
Кроме того, EventCommand.Enable всегда выдал согласованное представление: EventSource.IsEnabled() точно сообщает о состоянии включено и EventSource
может записывать события из обратного OnEventCommand
вызова. Это изменение делает EventCommand.Disable
поведение согласованным с EventCommand.Enable
.
Рекомендуемое действие
Вряд ли есть сценарий, в котором требуется предыдущее поведение, и нет способа отменить изменения поведения.