При использовании средства просмотра событий в Windows 7 существует отдельный «XML-вид» события, доступ к которому возможен из диалогового окна «Свойства события». Этот XML относится к пространству имен http://schemas.microsoft.com/win/2004/08/events/event
.Сериализация экземпляра .NET EventLogEntry для XML
Когда я подписываюсь на события Windows с использованием классов .NET Framework в пространстве имен System.Diagnostics
и извлекает объекты событий в форме экземпляров EventLogEntry
, есть ли способ сериализации этих экземпляров в формате XML, упомянутом выше? Кажется, я не могу найти.
Большое спасибо за ваш ответ.
Update: благодаря jmservera я узнал, есть разные, и лучше API в System.Diagnostics.Eventing.Reader
имен, однако этот API не поддерживает развертывание в Windows Server 2003/XP.
Обновление 2: Я принял ответ jmservera, потому что это привело меня к решению. Если вы нацеливаете Vista/Windows Server 2008, следуйте рекомендациям jmservera и используйте API в более новом пространстве имен. Если, однако, вам необходимо поддерживать предыдущие ОС, вам придется использовать старый API и самостоятельно сериализовать EventLogEntry в XML.
спасибо jmservera, высоко ценится. Я изучил это и, на удивление, этот API, похоже, не поддерживает развертывание на XP и/или Windows Server 2003 platfrom (только Vista и Windows Server 2008). Наверное, я должен был упомянуть об этом в моем вопросе, но я не ожидал никаких ограничений в отношении этого. –
Да, это новое для Vista, потому что они изменили способ хранения событий, теперь в xml-файлы. Если вам нужен один и тот же xml для всех систем, вы можете создать класс, используя xsd.exe, заполнить его и затем сериализовать. – jmservera