无法打开源'blah'的日志。您可能没有写入权限。嗯?

时间:2010-11-23 15:47:09

标签: c# asp.net event-log

我正在尝试写入自定义事件日志....但是我收到错误:

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

我已经在网上拖网..跟随变种链接,到目前为止我遇到过的最好的链接 this one。虽然不是那么清楚......

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

到注册表文件夹“eventlog”和我的子文件夹。

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

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

我的网站失败是在默认的IISAPPPool帐户下运行的。

任何想法?

提前致谢,

吉姆

1 个答案:

答案 0 :(得分:1)

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

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

但这在信任度降低的环境中无效。

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

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