EDI具有C#ASP.NET 4.5網絡表單應用程序,使用下面的代碼:無法寫入到事件日誌
if (!EventLog.SourceExists(sSource)) EventLog.CreateEventSource(sSource, sLog);
EventLog.WriteEntry(sSource, message, level);
由於第一行是失敗,我創建 HKEY_LOCAL_MACHINE \系統\ CurrentControlSet \服務\事件日誌\在註冊表中的應用\ 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 4.0版到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog
儘管如此,誤差保持
在事件查看器中是否有一個名爲IDDISLOG的日誌容器?我假設如果你這樣做是一個自定義的作爲谷歌搜索IDDISLOG什麼也不返回。 – Sorceri
這個事件源IDDISLOG已經存在於機器上嗎?如果沒有,您需要先創建它,爲此您需要管理員權限,這是您的應用程序不應具有的權限。如果是這種情況,那麼在安裝應用程序時希望只需一點點看家務。 – ADyson
IDDISLOG是試圖在註冊表中創建的源Im的名稱。所以我通過sSource =「IDDISLOG」 –