EventSource 콜백 동작
EventCommand.Disable의 경우 이제 콜백이 실행되기 전에 EventSource가 사용 안 함으로 표시됩니다.
이전 동작
이전에는 m_eventSourceEnabled=false
를 설정하기 전에 EventCommand.Disable에 대해 EventSource.OnEventCommand(EventCommandEventArgs) 콜백이 실행되었습니다.
이는 명령으로 인해 EventSource
가 사용하지 않도록 설정된 경우에도 EventSource.IsEnabled()가 사용자 EventSource에 대한 OnEventCommand(EventCommandEventArgs) 콜백에서 true
를 반환했음을 의미합니다. 이벤트 전달 기능이 꺼진 후에 콜백이 발생했으므로 EventSource
가 이벤트를 발생시키려고 해도 기록되지 않았습니다.
새 동작
이제 EventCommand.Disable에 대해 콜백이 실행되기 전에 EventSource가 사용 안 함으로 표시됩니다.
도입된 버전
- .NET 6 서비스
- .NET 7 서비스
호환성이 손상되는 변경의 형식
이 변경 사항은 동작 변경입니다.
변경 이유
이 변경은 여러 EventCounter 인스턴스를 지원하는 데 필요했습니다. 여러 고객이 여러 인스턴스를 갖는 기능을 요청했습니다.
또한 EventCommand.Enable은 항상 일관된 뷰를 실행했습니다. EventSource.IsEnabled()는 사용하도록 설정된 상태를 정확하게 보고하고 EventSource
는 OnEventCommand
콜백에서 이벤트를 쓸 수 있습니다. 이 변경으로 인해 EventCommand.Disable
동작이 EventCommand.Enable
과 일치하게 됩니다.
권장 작업
이전 동작이 바람직하고 동작을 되돌릴 수 있는 방법이 없는 시나리오는 거의 없습니다.
영향을 받는 API
.NET