2016-08-31 6 views
1

Когда вы создаете надежный сервисный проект без сохранения состояния с помощью visual studio, вы получаете настраиваемый источник событий, который подклассы класса EventSource из .NET Framework. Поскольку EventSource такой же, как поставщик событий ETW, с ним должен быть уникальный GUID (чтобы отличить его от других поставщиков ETW). Кроме того, ETW требует, чтобы файл манифеста для отслеживания работал правильно. EventSource, вероятно, скрывает всю эту информацию от разработчика. Есть ли способ просмотреть информацию поставщика ETW (которая вышла из моего настраиваемого EventSource в моей службе) вместе с файлом манифеста ETW?Как получить файл манифеста ETW, связанный с EventSource службы сервиса?

+0

Вы видите этот вопрос ?: http://stackoverflow.com/questions/18913364/eventsource-net-4-0-generatemanifest – LoekD

ответ

2

Это оказалось очень простым. Класс EventSource имеет следующий статический метод:

public static string GenerateManifest(
    Type eventSourceType, 
    string assemblyPathToIncludeInManifest 
) 

При отладке службы службы ткани, вы можете сделать следующее:

System.Diagnostics.Debug.WriteLine(System.Diagnostics.Tracing.EventSource.GenerateManifest(typeof(ServiceEventSource), "C:\temp")) 

Это должно дать вам отформатированной манифеста XML.

Смежные вопросы