我有一个非常简单的窗口服务,我是在遵循本教程后开发的:http://www.c-sharpcorner.com/UploadFile/naresh.avari/develop-and-install-a-windows-service-in-C-Sharp/
但是我注意到,与教程不同,ElapsedEventHandler从未被解雇:
public partial class Scheduler : ServiceBase
{
public Timer timer1 = null;
public Scheduler()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
timer1 = new Timer();
this.timer1.Interval = 30000;
this.timer1.Elapsed+=new ElapsedEventHandler(this.timer1_Tick);
Library.WriteErrorLog("Test Window service started");
}
protected override void OnStop()
{
timer1.Enabled = false;
Library.WriteErrorLog("test window service stopped");
}
private void timer1_Tick(object sender, ElapsedEventArgs e)
{
Library.WriteErrorLog("Timer ticked and some job has been done successfully");
}
}