Служба Windows всегда записывает в пользовательский журнал и журнал приложений - PullRequest
2 голосов
/ 24 августа 2010

Я использую пользовательский EventLog для своей службы Windows.Служба создает источник события после установки.У меня нет проблем.

Однако я настроил свой сервис так, чтобы я мог запускать его из IDE, используя следующий механизм:

static void Main(string[] args)
{
    AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(UnhandledException);

    string firstArgument = string.Empty;

    if (args.Length > 0)
        firstArgument = args[0].ToUpperInvariant();

    if (string.Compare(firstArgument, "-CONSOLE", true) == 0)
    {
        new SchedulerService().RunConsole(args);
    }
    else
    {
        ServiceBase[] services = new ServiceBase[] { new SchedulerService() };
        ServiceBase.Run(services);
    }
}

При записи в журнал событийкажется, что я пишу свой собственный журнал событий и журнал приложений.Как я могу предотвратить это?

Ниже приведен код, который я использую для записи в журнал событий: (Настройка приложения EventLog одинакова для источника и имени)

using (System.Diagnostics.EventLog eventLog = 
   new EventLog(
      System.Configuration.ConfigurationManager.AppSettings["EventLog"], ".", 
      System.Configuration.ConfigurationManager.AppSettings["EventLog"]))
{
    eventLog.WriteEntry(msg, entryType);
}

1 Ответ

2 голосов
/ 25 августа 2010

Кажется, перезагрузка моей машины исправила эту проблему. Я пока не уверен, почему, но я собираюсь предположить, что механизм просмотра событий попал в какое-то странное состояние.

...