EventSource 回呼行為
針對 EventCommand.Disable,EventSource 現在會在發出回呼之前標示為停用。
先前的行為
在過往,在設定 m_eventSourceEnabled=false
之前,已針對 EventCommand.Disable 發出 EventSource.OnEventCommand(EventCommandEventArgs) 回呼。
這表示在 EventSource 使用者的 OnEventCommand(EventCommandEventArgs) 回呼中 EventSource.IsEnabled() 會傳回 true
,即使此命令導致 EventSource
停用也一樣。 不過,回呼會在分派事件的功能關閉之後發生,因此即使 EventSource
嘗試引發事件,也不會寫入該事件。
新的行為
現在,會在針對 EventCommand.Disable 發出回呼之前,將 EventSource 標示為已停用。
導入的版本
- .NET 6 服務
- .NET 7 服務
中斷性變更的類型
此變更為行為變更。
變更原因
需要這項變更才能支援多個 EventCounter 執行個體。 多個客戶已要求擁有多個執行個體的功能。
此外,EventCommand.Enable 一律會發出一致的檢視:EventSource.IsEnabled() 準確地報告啟用的狀態,而且 EventSource
可以從 OnEventCommand
回呼寫入事件。 這項變更會使 EventCommand.Disable
行為與 EventCommand.Enable
保持一致。
建議的動作
不太可能出現需要先前行為的情節,而且無法還原該行為。