Member 10490775 Ответов: 3

проблема с созданием журнала событий в средстве просмотра событий


private void button1_Click(object sender, EventArgs e)
        {
            System.Diagnostics.EventLog.CreateEventSource("mywebsite", "websiterrors");
        }


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

Источник не был найден, но некоторые или все журналы событий не удалось найти. Чтобы создать источник, вам нужно разрешение на чтение всех журналов событий, чтобы убедиться, что новое имя источника уникально. Недоступные журналы: безопасность.

3 Ответов

Рейтинг:
27

Ron Beyer

Пожалуйста, взгляните на документацию:

Система.Диагностика.Журнал событий.Метод CreateEventSource(string, string) [^]

И особенно обратите внимание на следующее предупреждение:

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


Поэтому вам нужно запросить повышенные разрешения или попросить пользователя щелкнуть правой кнопкой мыши на вашей программе и выбрать пункт "Запуск от имени администратора". Чтобы запросить повышенные разрешения программно, вы можете добавить некоторый код в файл app.config, как описано в этой статье: Получение повышенных привилегий по требованию с помощью C#[^]


Рейтинг:
1

Dave Kreskowiak

Создание нового источника событий обычно выполняется во время установки, а не в приложении. В своем коде вы используете CreateEventSource для использования существующего источника событий.

Проблема метода CreateEventSource заключается в том, что он попытается создать новый источник событий, если он еще не существует. Он также используется для подключения к существующему источнику событий. По моему скромному мнению, эти две операции должны были быть выполнены отдельными методами, но я не писал .NET Framework, так что...


Рейтинг:
0

Member 13913081

У меня была та же проблема, но теперь она решена. Просто запустите Visual Studio с помощью команды "Run Ad Admin".

Это сработало для меня.


CHill60

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