使用Windows服务创建Windows EventLog

时间:2018-08-03 09:52:31

标签: c# asp.net windows-services event-log

我基本上正在运行Windows服务,可以ping特定的IP地址。我将结果记录到Windows事件记录器中,如下所示:

using (EventLog eventLog = new EventLog("PingService"))
{
      eventLog.Source = "PingService";
      if (msg == 1)
      {
         eventLog.WriteEntry(message, EventLogEntryType.Information);
      }
      else if (msg == 0)
      {
         eventLog.WriteEntry(message, EventLogEntryType.Error);
      }
      else
      {
         eventLog.WriteEntry(message, EventLogEntryType.Warning);
      }
}

我创建了一个安装文件,一切正常。每当我尝试卸载服务时,都会出现错误消息“ 错误1001...。->无法删除事件日志源PingService,因为它等于日志名称”。

无论何时删除注册表项“ Computer \ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ EventLog \ PingService”,我都可以卸载该服务。

再次安装它,当我尝试从services.msc启动服务时,显示错误消息:

“本地计算机上的PingService服务已启动,然后停止。如果某些服务未被其他服务或程序使用,则某些服务会自动停止”

第二次安装后,它将创建一个注册表项(在卸载之前不存在):

计算机\ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ EventLog \ Application \ PingService

删除该条目后,服务将启动。

我不知道在创建事件日志时我在哪里做错了。

0 个答案:

没有答案