ответ на разрешение IIS 8
Я ленивый и не создал специальный журнал в своем коде, вместо этого я использовал:
System.Diagnostics.EventLog.WriteEntry ("MyAppName", "Bla Bla SQL"
ОШИБКА: "+ sx.Message);
Просто чтобы завершить ответ Майкла
В IIS8 пользователь, используемый IIS при запуске кода на стороне сервера: IIS_IUSRS
(на самом деле это более сложно, поскольку в IIS_IUSRS есть виртуальные учетные записи, но они получают разрешения от этой учетной записи, см. Разрешения IIS_IUSRS и IUSR в IIS8 , подробнее)
Для этого пользователя требуется только разрешение READ на этом узле реестра:
HKLM \ CurrentControlSet \ System \ Services \ Eventlog \ Security
Причина этого заключается в том, что, когда новый источник журнала записывается, перед его созданием система хочет проверить, что он не существует, поэтому ей нужно ПРОЧИТАТЬ имена источников.
Кроме того, если вы используете iis express of visual studio, он будет работать под вашими личными учетными данными, поэтому, если у вас нет разрешения на чтение для узла реестра, указанного выше, вам придется добавить его и при отладке под визуальным студия.
(Если администраторы имеют разрешение на узел, и вы находитесь в этой группе, этого недостаточно, вам нужно запустить Visual Studio «от имени администратора» - это будет работать только с ярлыка Visual Studio, а не с ярлыка sln)
Еще одно примечание: если компьютер находится в домене, и вы не можете найти учетную запись IIS_IUSRS при редактировании разрешений реестра, скорее всего, вы ищете неправильное «местоположение», вместо этого ища учетную запись в активном каталоге домена. локального компьютера)