【发布时间】:2017-12-14 18:22:59
【问题描述】:
我在 VS 2015 中开发了我的第一个 C# 服务,但我无法触发我的 ElapsedEventHandler 方法。我有以下代码:
using System;
using System.ServiceProcess;
using System.Timers;
namespace UpdateEnvironmentService
{
public partial class Scheduler : ServiceBase
{
private Timer timer = null;
public Scheduler()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
timer = new Timer();
this.timer.Interval = Convert.ToDouble(1000); //timer intraval in milliseconds
this.timer.Elapsed += new System.Timers.ElapsedEventHandler(this.UpdateData);
timer.Enabled = true;
Library.WriteLog("Data Updater Started ");
}
private void UpdateData(object sender, EventArgs e)
{
Library.WriteLog("Got to update Data ");
}
protected override void OnStop()
{
timer.Enabled = false;
timer = null;
Library.WriteLog("Data Updater Stopped ");
}
}
}
Data Updater Started 行打印到我的日志文件中,但我从未看到 Got to update Data 甚至 Data Updater Stopped >。看来我的 ElapsedEventHandler 永远不会触发。有人知道为什么吗?
【问题讨论】:
标签: c# visual-studio visual-studio-2015 service