在windows服务中,利用winform中直接拖动timer控件的方式使用定时器是不可以的,启动服务后会发现定时器并没有执行。那么在windows服务中如何使用定时器呢?
不使用直接拖动控件的方式,而直接在后台代码中定义。具体如下:
// windows服务开始事件 protected override void OnStart(string[] args) { System.Timers.Timer timer1 = new System.Timers.Timer(1000); timer1.Elapsed += new System.Timers.ElapsedEventHandler(Timer1_Tick); timer1.Enabled = true; } private void Timer1_Tick(object sender, EventArgs e) { // 定时处理代码 }
本例中,定时器将每隔1s执行一次,具体的执行过程在Timer1_Tick方法中定义。