本人刚学写服务,很多问题不懂,望指点。
主要功能是开机时记录开机时间,
并每隔较长一段时间(大概5分钟)记录一些信息。
关机的时候记录关机时间。
现在服务写完了,开机的时候可以自启动,运行的时候也正常。
但是关机的时候服务好像直接关闭了,没有去调用OnStop()
有没有其他的好办法,记录到关机时间?谢谢
namespace FirstServer
{
public partial class MyFirst : ServiceBase
{
Timer mytimer = new Timer();
public MyFirst()
{
mytimer.Interval = 300000;
mytimer.Elapsed += new ElapsedEventHandler(mytimer_Elapsed);
InitializeComponent();
}
void mytimer_Elapsed(object sender, ElapsedEventArgs e)
{
mytimer.Stop();
//................................................................干活中
mytimer.Start();
}
protected override void OnStart(string[] args)
{
using (System.IO.StreamWriter sw = new System.IO.StreamWriter("D:\\log.txt", true))
{
sw.WriteLine("现在是:" + DateTime.Now.ToString() + "。 电脑已开机!");
}
mytimer.Start();
}
protected override void OnStop()
{
using (System.IO.StreamWriter sw = new System.IO.StreamWriter("D:\\log.txt", true))
{
sw.WriteLine("现在是:" + DateTime.Now.ToString() + "。 电脑即将关闭");
}
mytimer.Stop();
}
}
}
------解决思路----------------------
那也只是正常关机才会有这个日志(遗嘱)
突然死亡是没有的