WCF Exception во время записи события в журнал событий - PullRequest
2 голосов
/ 04 ноября 2011

Исключение во время записи журнала событий на хост-компьютере (Windows 2008 R2), где размещена служба WCF с именем моя машина из WCFClient (Windows 7), работающего в домене, но на другом компьютере.

Клиент WCF олицетворяет доступ к ресурсам на сервере.

Пока следующие ссылки не помогли

http://support.microsoft.com/kb/2028427#appliesto

http://forums.asp.net/t/1131903.aspx

http://msdn.microsoft.com/en-us/library/Aa379567 (Подробная информация о SDDL) http://blogs.dirteam.com/blogs/jorge/archive/2008/03/26/parsing-sddl-strings.aspx (SDDL)

похожий вопрос по ТА без ответа https://stackoverflow.com/questions/6456444/allow-wcf-services-writing-to-custom-event-log-under-windows-2008-r2-server

Исключение составляют следующие:

System.ServiceModel.FaultException`1 [System.ServiceModel.ExceptionDetail]: не удается открыть журнал для источника «MyService». У вас может не быть доступа для записи. (Сведения об ошибке равны ExceptionDetail, вероятно, созданный IncludeExceptionDetailInFaults = true, значение которого равно: System.InvalidOperationException: Невозможно открыть журнал для источника 'MyService'. У вас может не быть доступа для записи. ----> System.ComponentModel.Win32Exception: доступ запрещен

--- Конец внутренней трассировки стека ExceptionDetail --- в System.Diagnostics.EventLogInternal.OpenForWrite (String currentMachineName) в System.Diagnostics.EventLogInternal.InternalWriteEvent (идентификатор события UInt32, категория UInt16, тип EventLogEntryType, строки String [], Byte [] rawData, строка currentMachineName) в System.Diagnostics.EventLogInternal.WriteEntry (строковое сообщение, тип EventLogEntryType, идентификатор события Int32, категория Int16, Byte [] rawData) в System.Diagnostics.EventLog.WriteEntry (строковое сообщение, тип EventLogEntryType) ................... .....................

Ответы [ 2 ]

1 голос
/ 07 ноября 2011

Это пользовательский журнал событий?Если это так, обратитесь к

http://msdn.microsoft.com/en-us/library/49dwckkz(v=vs.80).aspx

- и, в частности,

В общем, создайте новый источник событий во время установки приложения.Это позволяет операционной системе обновить список зарегистрированных источников событий и их конфигурацию.Если операционная система не обновила свой список источников событий, и вы пытаетесь записать событие с новым источником, операция записи завершится неудачно.Если создание источника во время установки невозможно, попробуйте создать источник задолго до первой операции записи, возможно, во время инициализации приложения. Если вы выберете этот подход, убедитесь, что ваш код инициализации работает с правами администратора на компьютере.Эти права необходимы для создания новых источников событий.

0 голосов
/ 18 ноября 2011

Изменено удостоверение AppPool ProcesModel из NetworkService в LocalSystem, и все работает.

Хотя это не общедоступный сайт, а корпоративная распределенная установка, которая будет работать в своем собственном домене, но все же можно поспорить о безопасностириск.

и возможное решение может быть

Чтобы отделить код написания события от Imperosnation

или просто повысить разрешение для нарушающего кода.

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