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” –