Исключение безопасности при записи в EventLog из приложения ASP.NET MVC
У меня есть библиотека, которую я создал с некоторой бизнес-логикой, которая включает в себя запись вSystem.Diagnostics.EventLog
экземпляр. Библиотека обычно вызывается из приложения службы Windows, но теперь я пытаюсь вызвать те же функции библиотеки из моего приложения ASP.NET MVC.
Я попытался этот код внутри моего контроллера, чтобы создать экземпляр EventLog, который я передаю в метод, который должен записывать в журнал.
Dim log = New EventLog("Application", My.Computer.Name, "MyMVCApp")
Следующая ошибка генерируется, когда код в методе библиотеки пытается записать в журнал:
[SecurityException: Requested registry access is not allowed.]
System.ThrowHelper.ThrowSecurityException(ExceptionResource resource) +51
Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable) +7462217
System.Diagnostics.EventLog.CreateEventSource(EventSourceCreationData sourceData) +366
System.Diagnostics.EventLog.VerifyAndCreateSource(String sourceName, String currentMachineName) +194
System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type, Int32 eventID, Int16 category, Byte[] rawData) +205
System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type) +14
Мое веб-приложение работает как пользователь сетевой службы на Windows Server 2003 с IIS 6. Нужно ли что-то делать, чтобы дать пользователю сетевой службы доступ к реестру?
Есть ли лучший способ создать экземпляр EventLog для использования в приложении ASP.NET MVC? Есть ли уже созданный фреймворк, на который мне просто нужно сослаться?