gpt4 book ai didi

C#:简单的 Windows 服务提供安全异常

转载 作者:可可西里 更新时间:2023-11-01 08:06:26 24 4
gpt4 key购买 nike

我正在以下链接中进行演练: http://msdn.microsoft.com/en-us/library/zt39148a%28VS.80%29.aspx

我已经完全按照它逐行进行了。我成功安装了该服务,但是,当我尝试运行它时,出现以下错误消息:

“MyNewService.Exe [5292] 中发生未处理的异常(“System.Security.SecurityException”)。

我已经看到它对很多人有效,但有些人遇到了这个异常,尽管我找不到答案。有人有想法吗?谢谢。

最佳答案

EventLog.SourceExists方法将导致此异常。最常见的原因是它试图访问所有事件日志(包括安全日志),默认情况下在 Vista 中您将无权访问这些事件日志。另一个原因可能是事件日志中找不到您要查找的源(我觉得这很奇怪!)。

解决方法:

bool sourceFound = false;
try
{
sourceFound = EventLog.SourceExists("MySource");
}
catch (SecurityException)
{
sourceFound = false;
}

另一种选择是简单地提升您的权限,但是,当您按照教程一步一步地进行操作时,您的服务将在 LocalService 帐户下运行(该帐户同样没有此特定方法的权限)。因此,您会在 MSDN 文档中找到解决方案,即检查事件源是否存在于 ServiceInstaller 中,如果不存在,则在安装程序中创建源。

关于C#:简单的 Windows 服务提供安全异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1373887/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com