Книга: C# для профессионалов. Том II

Добавление регистрации событий

Добавление регистрации событий

Если свойство AutoLog класса ServiceBase задано как true, то автоматически включается регистрация событий. Класс ServiceBase регистрирует информационное событие при запросах службы для запуска, остановки, паузы и продолжения. В классе ServiceInstaller создается экземпляр EventLogInstaller, чтобы сконфигурировать источник журнала событий. Этот источник журнала событий имеет такое же имя, как и служба. Для записи события используем статический метод WriteEntry() класса EventLog. Свойство Source было уже задано в классе ServiceBase:

EventLog.WriteEntry("event log message");

Этот метод регистрирует информационное событие. Если должно быть создано событие предупреждения или ошибки, то для определения этого типа используется перезагруженный метод WriteEvent():

EventLog.WriteEntry("event log message", EventLogEntryType.Warning);
EventLog.WriteEntry("event log message", EventLogEntryType.Error);

Добавление регистрации событий в другие типы приложений

Для служб класс ServiceBase автоматически добавляет свойства регистрации событий. Если желательно использовать регистрацию событий в других типах приложений, это легко делается с помощью Visual Studio.NET.

? Используйте ToolBox для добавления компонента EventLog в конструктор.

? Задайте свойство Log компонента EventLog как Application, а свойство Source как выбранное имя. Обычно это бывает имя приложения, которое показано в Event View.

? Теперь можно записать журналы с помощью метода WriteEntry() экземпляра EventLog.

? Можно добавить программу установки из пункта контекстного меню Add Installer компонента EventLog. Это создает класс ProjectInstaller, который конфигурирует источник событий в реестре.

? С помощью команды installutil теперь можно зафиксировать приложение, installutil вызывает класс ProjectInstaller и регистрирует источник событий.

Для установки типа хсору последние два шага на самом деле не нужны. Если задано свойство Source экземпляра EventLog, источник автоматически регистрируется, когда журнал событий заполняется в первый раз. Это действительно легко сделать, но для реального приложения предпочтительнее добавить программу установки: с помощью installutil /u конфигурация регистрации событий отменяется. Если приложение просто удаляется, этот ключ реестра остается, если не будет вызван метод EventLog.DeleteEventSource().

Оглавление книги


Генерация: 1.347. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз