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) ayarından m_eventSourceEnabled=falseönce için EventCommand.Disable geri arama verilmişti.

Bu, EventSource.IsEnabled() komutu devre dışı bırakılmasına OnEventCommand(EventCommandEventArgs) neden olsa bile bir kullanıcı EventSourceiçin geri çağırmada döndürüldü trueEventSource anlamına geliyordu. Geri çağırma, olayları gönderme özelliği kapatıldıktan sonra gerçekleşti, bu nedenle bir EventSource olayı tetiklemeye çalışsa bile yazılmadı.

Yeni davranış

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

Sürüm kullanıma sunulmuştur

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

Hataya neden olan değişikliğin 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ünüm yayınladı: EventSource.IsEnabled() etkin durumu doğru raporlar ve EventSource geri aramadan OnEventCommand olaylar yazabilir. Bu değişiklik davranışı ile EventCommand.Enabletutarlı hale getirirEventCommand.Disable.

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

Etkilenen API’ler