我正在为我的Windows服务使用自定义EventLog
。该服务在安装后创建事件源。我没有任何问题。
但是,我已经设置了我的服务,以便我可以使用以下机制从IDE运行它:
static void Main(string[] args)
{
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(UnhandledException);
string firstArgument = string.Empty;
if (args.Length > 0)
firstArgument = args[0].ToUpperInvariant();
if (string.Compare(firstArgument, "-CONSOLE", true) == 0)
{
new SchedulerService().RunConsole(args);
}
else
{
ServiceBase[] services = new ServiceBase[] { new SchedulerService() };
ServiceBase.Run(services);
}
}
写入事件日志时,它似乎编写了我的自定义事件日志和应用程序日志。如何防止这种情况发生?
以下是我用来写入事件日志的代码:( EventLog应用程序设置与源和名称相同)
using (System.Diagnostics.EventLog eventLog =
new EventLog(
System.Configuration.ConfigurationManager.AppSettings["EventLog"], ".",
System.Configuration.ConfigurationManager.AppSettings["EventLog"]))
{
eventLog.WriteEntry(msg, entryType);
}
答案 0 :(得分:2)
似乎我的机器重启已修复此问题。我不知道为什么,但我会假设事件查看器机制进入某种奇怪的状态。