我安装了一个Windows服务,它正在运行。
当系统关闭时,我写了一个事件日志条目,但是代码在系统关闭或重启时没有写入事件日志。
protected override void OnShutdown()
{
WriteToEventLog("Services shut down.");
}
private void WriteToEventLog(string logMessage)
{
var mySource = "MySourceLog";
// Create the source and log, if it does not already exist.
if (!EventLog.SourceExists(mySource))
{
EventLog.CreateEventSource(mySource, mySource);
}
// Create an EventLog instance and assign its source.
using (var eventLog = new EventLog())
{
eventLog.Source = mySource;
// Write an entry to the event log.
eventLog.WriteEntry(logMessage, EventLogEntryType.Warning, 1002);
}
}
每当我的Windows服务崩溃时,我都想在事件日志中写一个事件,并且可能会发送一封电子邮件作为警报,说服务崩溃了。如何检测到该服务已崩溃并将其写入事件日志?
答案 0 :(得分:1)
如果服务崩溃,您将需要另一项持续监控主服务的服务,如果它崩溃了你做你想做的事情。你也应该这样做,你的主服务可以启动监控你的主要服务(第二服务)的服务,以防它崩溃