Wyjątek bezpieczeństwa podczas pisania do EventLog z aplikacji ASP.NET MVC

Mam bibliotekę, którą stworzyłem z pewną logiką biznesową, która obejmuje pisanie do aSystem.Diagnostics.EventLog instancja. Biblioteka jest zwykle wywoływana z aplikacji usługi Windows, ale teraz próbuję wywołać te same funkcje biblioteki z mojej aplikacji ASP.NET MVC.

Próbowałem tego kodu wewnątrz mojego kontrolera, aby utworzyć instancję EventLog, którą przekazuję do metody, która musi zapisywać do dziennika.

Dim log = New EventLog("Application", My.Computer.Name, "MyMVCApp")

Następujący błąd jest generowany, gdy kod w metodzie biblioteki próbuje zapisać do dziennika:

[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

Moja aplikacja internetowa działa jako użytkownik usługi sieciowej w systemie Windows Server 2003 z uruchomionymi usługami IIS 6. Czy jest coś, co muszę zrobić, aby umożliwić użytkownikowi usługi sieciowej dostęp do rejestru?

Czy istnieje lepszy sposób na utworzenie instancji EventLog do użycia w aplikacji ASP.NET MVC? Czy istnieje już coś stworzonego przez ramy, do których muszę się odwołać?

questionAnswers(3)

yourAnswerToTheQuestion