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()는 사용하도록 설정된 상태를 정확하게 보고하고 EventSourceOnEventCommand 콜백에서 이벤트를 쓸 수 있습니다. 이 변경으로 인해 EventCommand.Disable 동작이 EventCommand.Enable과 일치하게 됩니다.

이전 동작이 바람직하고 동작을 되돌릴 수 있는 방법이 없는 시나리오는 거의 없습니다.

영향을 받는 API