«Не удается открыть журнал для источника» - Windows 7 - веб-служба .NET - журнал событий - PullRequest
1 голос
/ 24 июля 2010

У меня есть веб-служба .NET, которая пытается войти в журнал событий Windows. Однако, когда я пытаюсь отправить запрос SOAP веб-методу в этом веб-сервисе, я получаю эту ошибку в ответе SOAP:

System.InvalidOperationException: Невозможно открыть журнал для источника 'MySource'. У вас может не быть доступа для записи. ---> System.ComponentModel.Win32Exception: доступ запрещен

Я пытался поискать в Google, чтобы найти решение. Этот описывает редактирование раздела реестра, который не существует для меня в Windows 7 64-bit; то же самое для этой страницы Microsoft . Этот вопрос связан, но единственный ответ на него говорит о ключе 'Source', который, кажется, нигде не найден в HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ eventlog \ MySource. Если мне нужно добавить исходный ключ, каким должно быть его значение? Я использую олицетворение в Web.config моего веб-сервиса (<identity impersonate="true" />). Этот вопрос также связан, но не имеет ответов. Этот вопрос связан, но, опять же, его ответ, похоже, не относится к настройке реестра в Windows 7.

В моем файле Web.config установлены значения <authentication mode="Windows" /> и <identity impersonate="true" />. Однако, даже когда я удаляю <authentication mode="Windows" />, я все равно получаю сообщение об ошибке «Не удается открыть журнал для источника».

Ответы [ 2 ]

1 голос
/ 22 марта 2012

У меня была точно такая же проблема в 64-битной Windows 7 для моего классического веб-приложения ASP. В конце концов я обнаружил, что, изменив пул приложений для этого веб-сайта на «Включить 32-разрядные приложения» (щелчок правой кнопкой мыши по пулу приложений, дополнительные настройки), проблема исчезла.

0 голосов
/ 24 июля 2010

Смотрите здесь:

http://msdn.microsoft.com/en-us/library/x7y6sy21.aspx

Примечание

Чтобы создать источник событий в Windows Vista, Windows XP Professional или Windows Server 2003, у вас должны быть права администратора.

Причина этого требования заключается в том, что все журналы событий, включая безопасность, должны быть найдены, чтобы определить, является ли источник события уникальным. В Windows Vista пользователи не имеют прав доступа к журналу безопасности; поэтому выдается исключение SecurityException. В Windows Vista контроль учетных записей (UAC) определяет привилегии пользователя. Если вы являетесь членом группы «Встроенные администраторы», вам назначаются два токена доступа во время выполнения: стандартный токен доступа пользователя и токен доступа администратора. По умолчанию вы находитесь в роли стандартного пользователя. Чтобы выполнить код, который обращается к журналу безопасности, вы должны сначала повысить свои привилегии от обычного пользователя до администратора. Это можно сделать, запустив приложение, щелкнув правой кнопкой мыши значок приложения и указав, что вы хотите работать от имени администратора.


Решение: Вы должны настроить источник журнала, используя программу установки или утилиту, которая запускается от имени администратора. Если вы не уверены, просто используйте тот же код, который вы используете в веб-службе, чтобы записать сообщение «Утилита установки завершена».

(Вы должны не запускать веб-сервис с правами администратора)

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...