Tôi có một thư viện mà tôi đã tạo với một số logic nghiệp vụ bao gồm viết cho một cá thể System.Diagnostics.EventLog
. Thư viện này thường được gọi từ một ứng dụng Windows Service, nhưng bây giờ tôi đang cố gắng gọi những hàm thư viện đó từ ứng dụng ASP.NET MVC của tôi.Ngoại lệ bảo mật khi ghi vào một EventLog từ ứng dụng ASP.NET MVC
Tôi đã thử mã này bên trong bộ điều khiển của mình để tạo cá thể EventLog mà tôi chuyển vào phương thức cần ghi vào nhật ký.
Dim log = New EventLog("Application", My.Computer.Name, "MyMVCApp")
Các lỗi sau đây được tạo ra khi các mã trong phương pháp thư viện cố gắng ghi vào nhật ký:
[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
ứng dụng web của tôi đang chạy như người sử dụng dịch vụ mạng trên Windows Server 2003 đang chạy IIS 6 Có điều gì tôi cần làm để cung cấp cho người dùng Dịch vụ Mạng truy cập vào sổ đăng ký không?
Có cách nào tốt hơn để tạo cá thể EventLog để sử dụng trong ứng dụng ASP.NET MVC không? Có ai đã tạo ra bởi khung mà tôi chỉ cần tham khảo?
Xem cách gán quyền cho nhật ký: http://stackoverflow.com/questions/1823433/eventlog-permission-failing-in-asp-net-on-win7/35086503#35086503 –