标签: event-log

写入事件日志时出现System.Security.SecurityException

我正在努力尝试将ASP.NET应用程序从Server 2003(和IIS6)移植到Server 2008(IIS7).

当我尝试访问浏览器上的页面时,我得到了这个:

'/'应用程序中的服务器错误.

安全例外

说明:应用程序尝试执行安全策略不允许的操作.要授予此应用程序所需的权限,请与您的系统管理员联系或在配置文件中更改应用程序的信任级别.

异常详细信息:System.Security.SecurityException:找不到源,但无法搜索部分或全部事件日志.无法访问的日志:安全性

来源错误:

在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.

堆栈跟踪:

[SecurityException:找不到源,但无法搜索部分或全部事件日志.无法访问的日志:安全.]

System.Diagnostics.EventLog.FindSourceRegistration(String source,String machineName,Boolean readOnly)+562 System.Diagnostics.EventLog.SourceExists(String source,String machineName)+251

[剪断]

这些是我为尝试解决它而做的事情:

  1. 授予"Everyone"对密钥的完全访问权限HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security.这很有效.但我自然不能在生产中这样做.所以我在运行应用程序几分钟后删除了"Everyone"权限,错误重新出现.

  2. 我在应用程序日志和安全日志中创建了源代码(我通过regedit对其进行了验证)在安装期间使用提升的权限,但错误仍然存​​在.

  3. 我在应用程序中给了应用程序一个完整的信任级别web.config(并使用appcmd.exe),但无济于事.

有没有人能够了解这里可以做些什么?

PS:这是对这个问题的跟进.我按照给出的答案但没有用(见上面的#2).

windows asp.net iis-7 exception-handling event-log

186
推荐指数
10
解决办法
29万
查看次数

如何从命令行创建Windows EventLog源?

我正在创建一个ASP.NET应用程序,它将一些东西记录到Windows EventLog.要执行此操作,必须首先创建事件源.这需要管理权限,所以我无法在ASP.NET应用程序中执行此操作.

是否存在与Windows捆绑在一起的可以创建事件日志源的现有命令行应用程序,还是我必须自行推出?

windows command-line event-log

161
推荐指数
5
解决办法
23万
查看次数

写入Windows应用程序事件日志

有没有办法写入此事件日志:

在此输入图像描述

或者至少,一些其他Windows默认日志,我不必注册事件源

.net c# windows logging event-log

136
推荐指数
4
解决办法
19万
查看次数

找不到源,但无法搜索部分或全部事件日志

我收到以下异常.我在Registry编辑的Eventlogs上完全控制了Asp.net帐户.

[SecurityException:找不到源,但无法搜索部分或全部事件日志.无法访问的日志:安全.]

System.Diagnostics.EventLog.FindSourceRegistration(String source,  String machineName, Boolean readOnly, Boolean wantToCreate) +664
System.Diagnostics.EventLog.SourceExists(String source, String machineName, Boolean wantToCreate) +109
System.Diagnostics.EventLog.SourceExists(String source) +14 Microsoft.ApplicationBlocks.ExceptionManagement.DefaultPublisher.VerifyValidSource() +41
Run Code Online (Sandbox Code Playgroud)

我想这是由于服务器上的一些配置问题?

.net c# securityexception event-log windows-7

122
推荐指数
5
解决办法
16万
查看次数

System.Security.SecurityException:找不到源,但无法搜索部分或全部事件日志.无法访问的日志:安全性

我正在尝试创建一个Windows服务,但是当我尝试安装它时,它会回滚给我这个错误:

System.Security.SecurityException:找不到源,但无法搜索部分或全部事件日志.无法访问的日志:安全性.

我不知道这意味着什么 - 我的应用程序有最低限度,因为我只是先测试一下.

我的安装员代码:

namespace WindowsService1
{
    [RunInstaller(true)]
    public partial class ProjectInstaller : System.Configuration.Install.Installer
    {
        public ProjectInstaller()
        {
            //set the privileges
            processInstaller.Account = ServiceAccount.LocalSystem;
            processInstaller.Username = null;
            processInstaller.Password = null;

            serviceInstaller.DisplayName = "My Service";
            serviceInstaller.StartType = ServiceStartMode.Manual;

            //must be the same as what was set in Program's constructor
            serviceInstaller.ServiceName = "My Service";

            this.Installers.Add(processInstaller);
            this.Installers.Add(serviceInstaller);
        }

        private void serviceProcessInstaller1_AfterInstall(object sender, InstallEventArgs e)
        {
        }

        private void serviceInstaller1_AfterInstall(object sender, InstallEventArgs e)
        {
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的服务代码:

public partial class Service1 …
Run Code Online (Sandbox Code Playgroud)

c# windows windows-services event-log

68
推荐指数
6
解决办法
8万
查看次数

找不到源,但无法搜索部分或全部事件日志.无法访问的日志:安全性

我收到错误:

找不到源,但无法搜索部分或全部事件日志.无法访问的日志:安全性

当我在代码下运行以捕获Win 2K12 R2服务器IIS 8.5上的错误时

EventLog elog = new EventLog();
EventLog.CreateEventSource("MyApp", "Application");
EventLog.WriteEntry(Source, swError.ToString(), EventLogEntryType.Error);
Run Code Online (Sandbox Code Playgroud)

我已经完全访问HKLM\SYSTEM\CurrentControlSet\services\eventlog但它仍然没有工作.我该怎么做才能修好它?

c# iis event-log iis-8

61
推荐指数
6
解决办法
15万
查看次数

如何使用WiX创建事件日志源

我正在为使用自定义事件日志源的网站创建安装程序.我希望我们的基于WiX的安装程序在安装期间创建该事件日志源.

有没有人知道使用WiX框架执行此操作的最佳方法.

wix eventlog-source event-log

58
推荐指数
3
解决办法
2万
查看次数

c#写入事件查看器

我正在尝试用我的c#代码写入事件查看器,但我得到了很棒的"对象引用没有设置为对象的实例"消息.我很感激这些代码的一些帮助,无论是它的错误还是更好的方法.这是我写入事件日志的内容:

private void WriteToEventLog(string message)
{
    string cs = "QualityDocHandler";
    EventLog elog = new EventLog();
    if (!EventLog.SourceExists(cs))
    {
        EventLog.CreateEventSource(cs, cs);
    }
    elog.Source = cs;
    elog.EnableRaisingEvents = true;
    elog.WriteEntry(message);
}
Run Code Online (Sandbox Code Playgroud)

这就是我试图称之为的地方:

private readonly Random _rng = new Random();
private const string _chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
private string RandomString(int size)
{
    try
    {
        char[] buffer = new char[size];
        for (int i = 0; i < size; i++)
        {
            buffer[i] = _chars[_rng.Next(_chars.Length)];
        }
        return new string(buffer);
    }
    catch (Exception e)
    {
        WriteToEventLog(e.ToString());
        return null; …
Run Code Online (Sandbox Code Playgroud)

c# event-log

54
推荐指数
2
解决办法
9万
查看次数

无法找到来自源的事件ID的描述

当我将日志写入Windows事件日志时,我得到下面的事件,这条消息的根本原因是什么,我该如何解决?非常感谢

无法找到源RRWS的事件ID 51001的描述.引发此事件的组件未安装在本地计算机上,或者安装已损坏.您可以在本地计算机上安装或修复该组件.

如果事件源自另一台计算机,则必须随事件一起保存显示信息.

活动中包含以下信息:

测试日志消息

消息资源存在但在字符串/消息表中找不到该消息

.net windows event-log

53
推荐指数
7
解决办法
10万
查看次数

不使用代码删除自定义事件日志源

我有一个应用程序创建了许多自定义事件日志源来帮助过滤其输出.如何在不编写任何代码的情况下从机器中删除自定义源代码,因为使用System.Diagnostics.EventLog.Delete运行快速程序是不可能的.

我已经尝试使用RegEdit从[HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX\Services\Eventlog]中删除自定义源,但是应用程序的行为就好像日志仍然存在于幕后.

我还缺少什么?

c# windows event-log

40
推荐指数
3
解决办法
4万
查看次数