幸运快三

Windows 2008 IIS 7 ASP.NET 写入 Event Log 发生 安全性例外状况

幸运快三Windows 2008 IIS 7 ASP.NET 写入 Event Log 发生 安全性例外状况


幸运快三 这篇文章,将说明在 IIS 下使用 ASP.NET 写入自定 Event Log 所发生的问题,如何透过 ProceessMonitor 来观察出问题的方式。

情境:

你可能是接手站台的转移,这个站台记录相关启动资讯或系统错误的资讯,是透过自定 EventLog 方式,将相关资讯记录下来,
幸运快三 是使用下述的程序,建立自定的 EventLog 及写入一笔log的程序,发生以下的错误消息。

if (!(EventLog.SourceExists("MySource"))) {
            EventLog.CreateEventSource("MySource", "myNewLog");
             
        }

        // Write an informational entry to the event log.    
        EventLog.WriteEntry("MySource", "写入 MySource");

安全性例外状况

描述: 应用程序尝试执行安全原则不允许的作业。如果要授与这个应用程序所需的权限,请联系您的系统管理员,或在组态档中变更这个应用程序的信任层级。
例外详细资讯: System.Security.SecurityException: 找不到来源,但无法搜寻部分或全部的事件记录档。无法存取的记录档: Security。

?

image

?

在这个错误的同时,我们可以透过 ProceessMonitor 来观察问题发生点,会发现是在 Registry 没有自定的 MySource ,
所以发生了这个错误,而详细的原因请参考KB329291的说明。

image

?

解决步骤:

1. 开始 - 执行 – regedit

幸运快三 2. 在 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogApplication? 建立 自定的名称

?

结果:

幸运快三 再度执行原本的程序,就能看到正常的写入,从 ProcessMonitor 也看到正常的运行。

image

?

image

备注:

1.在其他的参考解决连结中,有特别再给予 Network Service 角色 Full Control 权限在 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlog ,
但在这个情境当中,并不需要特别给予这个权限,Network Service 本身就可以写入 Application 既有本身存在的 EventLog。

ex: 你可以使用这段程序进行测试 EventLog.WriteEntry("Application", "写入 Application");

2.如果需要自动化的建立,可参考 KB329291 ,透过 EventLogInstaller? 的方式。

?

?

参考连结

PRB: "Requested Registry Access Is Not Allowed" Error Message When ASP.NET Application Tries to Write New EventSource in the EventLog
http://support.microsoft.com/kb/329291/en-us

IIS7: Web Application writing to Event Log generates Security Exception
http://www.christiano.ch/wordpress/2009/12/02/iis7-web-application-writing-to-event-log-generates-security-exception


原文:  

相关文章
相关标签/搜索
彩运来十分六合-十分六合单双 电力资讯