簡體   English   中英

無法寫入事件日志

[英]Cannot write to the Event log

ed我擁有C#ASP.NET 4.5 Webform應用程序,並使用以下代碼:

 if (!EventLog.SourceExists(sSource)) EventLog.CreateEventSource(sSource, sLog);

     EventLog.WriteEntry(sSource, message, level);

由於第一行失敗,因此我在注冊表中創建了HKEY_LOCAL_MACHINE \\ SYSTEM \\ CurrentControlSet \\ services \\ eventlog \\ Application \\ IDDISLOG

我在WriteEntry方法上收到以下異常:

 Cannot open log for source 'IDDISLOG'. You may not have write access. 

搜索了其他類似問題,但沒有一個對我有用。

到目前為止,這是我所做的:

在項目文件夾中添加了“網絡服務”

向中添加了Network service ,並為其提供了完全訪問權限。 HKEY_LOCAL_MACHINE \\ SYSTEM \\ CurrentControlSet \\ services \\ eventlog

向其添加了Nertwork服務,並為其提供了完全訪問權限。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Security

檢查並看到w3wp.exe * 32進程以用戶名ASP.Net v4.0運行。

因此,將ASP.Net v4.0添加到

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog

盡管如此,錯誤仍然存​​在

您的用戶帳戶可能沒有足夠的特權來創建事件源,只有管理員帳戶才能這樣做。 如果您可以管理員身份登錄,請再次運行代碼或在此處添加文件夾:HKEY_LOCAL_MACHINE \\ SYSTEM \\ CurrentControlSet \\ services \\ eventlog \\ Application \\ IDDISLOG

那應該允許您的應用程序使用該源寫入事件日志。 您可能需要進一步配置實際的注冊表項,以滿足您的需求。

在IIS(Windows服務器)中,您應該更改應用程序池使用的身份標識,因此新身份具有寫入事件日志的權限。 選擇應用程序池和高級設置。 然后編輯並插入自定義帳戶,althoug本地系統就足夠了。 如果使用自定義帳戶,請確保不要使用密碼將要過期的用戶,因為發生這種情況時,登錄事件日志將失敗。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM