在Windows服务中使用事件日志

时间:2012-10-30 07:51:53

标签: c# windows-services event-log

最近我完成了一项Windows服务的开发。它正在我的电脑上工作,易于启动和记录,但不幸的是,由于我使用事件日志,它不能在其他计算机上设置。当我尝试使用谷歌搜索时,我发现我应该为注册表和用户设置一些权限。 为什么这么复杂,怎么解决呢......

public MainService()
        {
            InitializeComponent();
            this.ServiceName = "Network Support Service";
            //eventlog
            this.EventLog.Log = "Application";
            if (!System.Diagnostics.EventLog.SourceExists("NetworkSupportSource"))
                System.Diagnostics.EventLog.CreateEventSource("NetworkSupportSource", "NetworkSupportLOG");
            eventLog1.Source = "NetworkSupportSource";
            eventLog1.Log = "NetworkSupportLOG";
            //مقداردهی رشته اتصال
            ConnectionString = NetworkSupportWS.Properties.Settings.Default.paneldbConnectionString;

        }

有关如何创建可以处理它的设置的任何帮助。 任何样本。

我将LocalService用作ServiceProcessInstaller帐号!

1 个答案:

答案 0 :(得分:0)

您必须以管理员身份创建源,然后每个程序都可以登录到它。这在手册中显示:

  

EventLog.CreateEventSource()

     

注意

     

要在Windows Vista及更高版本或Windows Server 2003中创建事件源,您必须具有管理权限。