相关疑难解决方法(0)

写入事件日志时出现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万
查看次数

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

我收到以下异常.我在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万
查看次数

执行错误记录的简单方法?

我已经创建了一个小的C#winforms应用程序,作为一个附加功能,我正在考虑添加某种形式的错误记录到它.任何人都有任何关于这方面的好方法的建议?这是我从未考虑过添加到以前的项目中的功能,所以我愿意接受有更多经验的开发人员的建议.

我正在考虑将异常写入指定的文本文件或可能的数据库表.这是一个应用程序,将使用几个月,然后在更大的产品完成后丢弃.

.net c# error-handling logging error-logging

43
推荐指数
5
解决办法
9万
查看次数

我需要更改以允许我的IIS7 ASP.Net 3.5应用程序创建事件源并将事件记录到Windows EventLog?

在IIS 7下运行的ASP.Net 3.5似乎不允许开箱即用.

        if (!EventLog.SourceExists("MyAppLog"))
            EventLog.CreateEventSource("MyAppLog", "Application");

        EventLog myLog = new EventLog();
        myLog.Source = "MyAppLog";
        myLog.WriteEntry("Message");
Run Code Online (Sandbox Code Playgroud)

asp.net permissions iis-7 event-log .net-3.5

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

C#EventLog无法访问日志

以下是我在运行紧随其后的代码时遇到的异常:

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

代码是

if (!EventLog.SourceExists(this.EventLogSource))
Run Code Online (Sandbox Code Playgroud)

异常的内容对我来说很有意义,这就是为什么不这样做.此行在Visual Studio 2010,.NET 4中作为控制台应用程序运行(暂时).我已经在不同的环境中运行了这个,但我不希望我是远程桌面的事实打破这种方法.我试过更改HKML\CCS\Services\eventlog权限 - 无济于事,以及C:\Windows\System32\Winevt\Logs\Security.evtx权限.再一次,无济于事.

我的问题如下:

  1. 为什么没有覆盖来忽略安全日志,
  2. 我该如何解决这个问题(以编程方式)
  3. 这是因为我是远程办公桌.

任何建议都会很棒.

c# windows exception event-log

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