C# 无法打开源';诸如此类;。您可能没有写权限。嗯??

C# 无法打开源';诸如此类;。您可能没有写权限。嗯??,c#,asp.net,event-log,C#,Asp.net,Event Log,我正在尝试写入自定义事件日志。。。。但我得到了一个错误: Win32Exception访问被拒绝 无法打开源“blah”的日志。您可能没有写权限 我已经用拖网捕鱼了。。下面是varions的链接,到目前为止,我遇到的最好的一个是 . 但这并不像可能的那么清楚 这是一台2008 R2开发服务器。 我添加了以下注册表项“CustomSD”,值为 O:BAG:SYD:(A;;0x7;;;AN)(A;;0x7;;;SY)(A;;0x7;;;BA)(A;;0x7;;;SO)(A;;0x7;;;IU)(A;

我正在尝试写入自定义事件日志。。。。但我得到了一个错误:

Win32Exception访问被拒绝 无法打开源“blah”的日志。您可能没有写权限

我已经用拖网捕鱼了。。下面是varions的链接,到目前为止,我遇到的最好的一个是 . 但这并不像可能的那么清楚

这是一台2008 R2开发服务器。 我添加了以下注册表项“CustomSD”,值为 O:BAG:SYD:(A;;0x7;;;AN)(A;;0x7;;;SY)(A;;0x7;;;BA)(A;;0x7;;;SO)(A;;0x7;;;IU)(A;;0x7;;;SU)

注册文件夹“事件日志”和我的子文件夹

我还允许所有人完全访问物理事件日志(.evtx文件)。。。但一切都无济于事

我想我正在为各种帐户类型(SY=System等)提供读写和清除访问权限

我的网站在默认IISAPPOOL帐户下运行失败

有人有什么想法吗

提前感谢,


Jim

ASP.NET在信任度降低的环境中运行

如果事件日志源不存在,则必须添加注册表项才能创建它

但这在信任度降低的环境中是行不通的

您应该为正在使用的事件源创建一个安装程序类,然后在部署期间“安装”网站。最快的方法是创建一个“组件”来记录事件,将事件日志组件拖到设计图面上,设置属性,然后选择创建安装程序的命令


在部署时,您只需对web应用程序的DLL运行“installutil”。事件源将在web应用程序启动之前创建。

添加的注册表值的完整路径是什么?日志已经存在,而且如果我浏览到网站(我的帐户是管理员的成员),那么我可以写入日志。只有“普通”用户无法写入日志。我应该说我们使用的是windows身份验证。@吉姆:如果您使用的是windows事件日志,那么存在不是问题。创建事件日志源需要创建注册表项。这是不允许的。@John Saunders。。。谢谢你的答复。。事件源也已存在。。。正如我所说。。。以管理员身份浏览到该网站并获取事件logged@John-否,非管理员无法记录事件。