Aracılığıyla paylaş


EventSource geri çağırma davranışı

bir EventCommand.DisableEventSource için, artık geri arama verilmeden önce devre dışı olarak işaretlenir.

Önceki davranış

Daha önce, EventSource.OnEventCommand(EventCommandEventArgs) ayarlanmadan önce EventCommand.Disable için m_eventSourceEnabled=false geri arama verilmişti.

Bu, EventSource.IsEnabled() komutu devre dışı bırakılsa bile bir kullanıcı true için OnEventCommand(EventCommandEventArgs) geri çağırmasında EventSourceEventSource döndürüldüğü anlamına geliyordu. Olayları gönderme özelliği kapatıldıktan sonra geri çağırma gerçekleşti, bu yüzden bir EventSource olayı tetiklemeye çalışsa bile bu olay yazılmadı.

Yeni davranış

Şimdi, EventSource bir için geri çağırma yapılmadan önce devre dışı olarak işaretlenir.

Sürüm kullanıma sunulmuştur

  • .NET 6 bakımı
  • .NET 7 bakımı

Kesinti yaratan değişiklik türü

Bu değişiklik davranışsal bir değişikliktir.

Değişiklik nedeni

Bu değişiklik birden çok EventCounter örneği desteklemek için gerekliydi. Birden çok örneğe sahip olma özelliği birden çok müşteri tarafından istendi.

Buna ek olarak, EventCommand.Enable her zaman tutarlı bir görüş yayınladı: EventSource.IsEnabled() etkin durumu doğru raporlar ve EventSource geri arama OnEventCommand olaylarından olaylar yazabilir. Bu değişiklik EventCommand.Disable davranışını EventCommand.Enable ile tutarlı hale getirir.

Önceki davranışın istendiği bir senaryo olması olası değildir ve davranışı geri döndürmenin bir yolu yoktur.

Etkilenen API'ler