Назад | Перейти на главную страницу

Ошибка записи в журнал событий из веб-приложения iis7

Я пытаюсь развернуть веб-приложение .NET, безопасность которого осуществляется с использованием олицетворения.

Запись в журнал событий отлично работает на моем модуле разработчика (Win 2003 IIS6), но после помещения приложения в окно live (Win 2008 IIS7) я получаю следующее:

Access is denied [Win32Exception (0x80004005): Access is denied] [InvalidOperationException: Cannot open log for source 'MyApp'. You may not have write access.]
System.Diagnostics.EventLog.OpenForWrite(String currentMachineName) +1815151
System.Diagnostics.EventLog.InternalWriteEvent(UInt32 eventID, UInt16 category, EventLogEntryType type, String[] strings, Byte[] rawData, String currentMachineName) +452
System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type, Int32 eventID, Int16 category, Byte[] rawData) +463
System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type) +30

Лучшая помощь, которую я нашел в Google: http://support.microsoft.com/default.aspx?scid=kb;en-us;323076 | http://msdn.microsoft.com/en-us/library/aa379570%28VS.85%29.aspx

Ссылка на; HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ Eventlog \ Application \ CustomSD сбивает меня с толку, так как у меня нет этого в разделе реестра на живой коробке.

Маленькая помощь ??

Даже при олицетворении возможно использование удостоверения пула приложений. Некоторые приложения RevertToSelf не соблюдают олицетворение.

Монитор процесса от sysinternals будет вашим другом в этом проекте. Это бесплатно и безопасно на рабочем сервере. Запустите его и воспроизведите ситуацию, чтобы получить снимок. Затем найдите слово "отказано" или найдите CustomSD или Eventlog. Должен появиться шаблон, который покажет, какой пользователь пытается получить доступ и как предоставить этому пользователю доступ.