Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье приводятся дополнительные замечания к справочной документации по этому API.
Класс EventWrittenEventArgs предоставляет данные для обратного OnEventWritten вызова.
Всякий раз, когда событие отправляется в EventListener объект, метод обратного вызова EventListener.OnEventWritten вызывается. Передается экземпляр EventWrittenEventArgs
, содержащий информацию о событии. Все значения EventWrittenEventArgs
свойств класса допустимы только во время обратного вызова.
В следующих разделах содержатся дополнительные сведения об отдельных EventWrittenEventArgs
свойствах.
Свойство ActivityId
При использовании System.Activities.Activity и производных классах потоки можно пометить как связанные с ними действия. Свойство ActivityId
возвращает идентификатор действия потока, который зарегистрировал событие. Обратите внимание, что потоки не обязательно должны иметь активность, в этом случае это свойство принимает значение Guid.Empty.
Свойства OSThreadId и TimeStamp
Начиная с .NET Core 2.2, объекты EventListener могут подписываться на события собственной среды выполнения (например, события GC, JIT и threadpool), а также на события, создаваемые объектами EventSource. В предыдущих версиях .NET Core и всех версиях .NET Framework идентификатор потока и метка времени можно извлечь из среды, так как они отправляются синхронно в том же потоке, который их генерировал. Однако не все события собственной среды выполнения могут быть синхронно отправлены. Некоторые события, такие как события GC, создаются при приостановке выполнения управляемого потока. Эти события буферизируются в родном коде и отправляются диспетчерским потоком, как только управляемый код может быть выполнен снова. Так как эти события буферичены, среда не может использоваться для надежного получения идентификатора потока и метки времени. Из-за этого, начиная с .NET Core 2.2, идентификатор потока и метки времени доступны как члены EventWrittenEventArgs
класса.
Свойство RelatedActivityId
Связанное действие — это действие, которое сильно связано с текущим. Как правило, это либо активность, которая предшествовала текущей активности (события с Start
опкодом обычно делают это), либо активность, созданная текущей (события с Send
опкодом обычно делают это). Когда RelatedActivityID
используется, он явно передаётся методом, который выполняет ведение журнала. Многие события не проходят RelatedActivityId
, в этом случае значение этого свойства равно Guid.Empty.