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。

?

?

在这个错误的同时,我们可以透过 ProceessMonitor 来观察问题发生点,会发现是在 Registry 没有自定的 MySource ,

所以发生了这个错误,而详细的原因请参考KB329291的说明。

?

解决步骤:

1. 开始 - 执行 – regedit

2. 在 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogApplication? 建立 自定的名称

?

结果:

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

?

备注:

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



原文:大专栏  Windows 2008 IIS 7 ASP.NET 写入 Event Log 发生 安全性例外状况

原文地址:https://www.cnblogs.com/petewell/p/11516520.html

时间: 2024-11-09 00:52:55

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

让Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求

让Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求 今天下午17点左右,博客园博客站点出现这样的错误信息: Error Summary: HTTP Error 503.2 - Service UnavailableThe [email protected] setting is being exceeded. Detailed Error Information: Module IIS Web Core Notification BeginReques

让Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求(转)

转自:http://www.cnblogs.com/dudu/archive/2009/11/10/1600062.html 今天下午17点左右,博客园博客站点出现这样的错误信息: Error Summary: HTTP Error 503.2 - Service UnavailableThe [email protected] setting is being exceeded. Detailed Error Information: Module IIS Web Core Notificat

让Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求 The [email protected] setting is being exceeded.

今天下午17点左右,博客园博客站点出现这样的错误信息: Error Summary: HTTP Error 503.2 - Service UnavailableThe [email protected] setting is being exceeded. Detailed Error Information: Module IIS Web Core Notification BeginRequest Handler StaticFile Error Code 0x00000000 由于之前使

让Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求(转载)

转自:http://www.cnblogs.com/dudu/archive/2009/11/10/1600062.html 今天下午17点左右,博客园博客站点出现这样的错误信息: Error Summary: HTTP Error 503.2 - Service UnavailableThe [email protected] setting is being exceeded. Detailed Error Information: Module IIS Web Core Notificat

让Windows Server 2008 + IIS 7+ ASP.NET 支持10万个同时请求

具体设置如下: 1. 调整IIS 7应用程序池队列长度 由原来的默认1000改为65535. IIS Manager > ApplicationPools > Advanced Settings Queue Length : 65535 2.  调整IIS 7的appConcurrentRequestLimit设置 由原来的默认5000改为100000. c:\windows\system32\inetsrv\appcmd.exe set config /section:serverRunti

修改Windows Server 2008+IIS 7+ASP.NET默认连接限制,支持海量并发连接数

WIN7中IIS7默认配置的服务器同时最多只能处理5000个请求,如果由于某些情况(程序问题等)造成同时请求超过5000时,将会导致服务器错误.为此,修改服务器的设置,从而支持10万个同时请求. 具体设置如下: 1. 调整IIS7应用程序池队列长度 依次打开,IIS管理器 > 应用程序池 > 高级设置,修改队列长度为65535. 2.  调整IIS 7的appConcurrentRequestLimit设置 打开%systemroot%\System32\inetsrv\config\appl

Windows 2008 IIS同时配置多版本的php

Windows可以通过IIS下安装PHP Manager工具让IIS可以同时支持多版本的php,具体步骤如下: 1.下载PHP Manager软件(可以在http://phpmanager.codeplex.com/releases/view/69115下载),下载后在服务器内双击安装文件进行安装,安装后打开IIS在站点右侧就会多出一个PHP Manager管理选项. 2.在系统盘C盘内创建个php文件夹,将不同版本的php文件都转移到此文件夹下,本教程使用的php5.2和php5.3版本的ph

Win7旗舰版中的IIS配置asp.net 完美通过版,附代码 以及出现的 CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\8d57d

先解决问题:“c:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\8d57d 图: 其他的解决方案均没有成功如: 1 设置c:windows\temp 目录访问权限 temp--> 属性-->安全-- > 添加network service -->并赋予其权限为 读 和 写--> 确定 (注意:操作系统为windows server2003 framework 版本在 1.1

windows 2008安装IIS7支持ASP动态网站

1.打开服务器管理器,(也可以点击程序和功能,打开或关闭windows功能),点击操作-添加角色.2.展开服务器管理器,点击角色-Web服务器(IIS),在右边的窗口找到ASP(未安装),再点击右边添加角色服务进行安装.3.点击控制面板-管理工具-Internet 信息服务(IIS) 6.0 管理器,点击你要配置的网站点(可以添加网站),在右边找到ASP,然后双击打开功能,将启用父路径的"Flase"改为"True".4.双击打开MIME类型,点击添加.ASP,MI