我正在try 使用log4net在Windows Server 2008 SP1上的IIS7下写入客户事件日志(log).但是,该帐户似乎没有写入事件日志(log)的权限.有人有什么建议吗?

推荐答案

问题可能是您的事件源.必须先创建事件源,然后才能写入事件日志(log)(如果不创建,则事件日志(log)对象会在首次写入日志(log)时try "自动"为您创建一个).

您必须拥有更高的权限才能创建事件日志(log)源.在我的一些web应用程序中,我将创建事件源的代码放入了我的设置中(安装程序以管理员身份运行,因此我始终保证能够创建源).

只需创建一次源代码.之后,你的ASP.Net app应有足够的权限写入指定您创建的源的条目.

您可以在设置中使用EventLogInstaller创建源,也可以只编写一个小实用程序以管理员身份调用EventLog.CreateEventSource().

我将向你们展示两种方式:


// You would do this one from within an Installer class in a setup:
        private void InstallEventLog()
        {
            EventLogInstaller logInstaller;

            //Create an instance of an EventLogInstaller.
            logInstaller = new EventLogInstaller();

            //Set the source name of the event log.
            logInstaller.Source = "TheEventSourceName";
            Installers.Add(logInstaller);
        }


方法2:只需以管理员身份调用CreateEventSource一次(例如,您可以将以下代码放入控制台应用程序中,并以管理员身份运行控制台应用程序)


EventLog.CreateEventSource("TheSourceName", "Application");

prize :


[system.Diagnostics.EventLog]::CreateEventSource("SourceName", "Application")

那有帮助吗

Asp.net相关问答推荐

设置主键时KeyAttribute属性不起作用

ASP.NET Core 延迟加载始终返回 null

在 ASP.Net 中使用自定义 RoleProvider 时如何允许多个角色查看页面

Web API Queryable - 如何应用 AutoMapper?

某些黑客能否从用户那里窃取 Web 浏览器 cookie 并在网站上使用该名称登录?

是否可以访问位于另一个项目中的 MVC 视图?

WebAPI 请求流支持

HttpWebRequest 未通过凭据

asp.net 中的 Eval() 有什么用

如何为角色以及特定用户使用自定义授权属性?

如何使用自动生成的列隐藏 ASP.NET GridView 中的列?

如何从 JS 访问 ViewBag

Fiddler 没有从 ASP.NET 网站嗅探 SOAP 流量

在 Application_BeginRequest 中设置会话变量

Docker 中的 ASPNETCORE_ENVIRONMENT

在 ASP.NET MVC 中获取服务器机器名称?

在.net的内存数据库中

重新生成designer.cs

ASP.NET MVC3 局部视图命名约定

如何识别字符串是否包含 unicode 字符?