有人可以向我提供一个如何在Windows服务中使用System.Windows.Forms.Timer的示例。计时器应该每10秒“调用”一次非静态Windows服务方法。我(在OnStart方法中尝试过这种方法失败了):
_timer.Tick += new EventHandler(StartProcessingItems);
_timer.Interval = 10000;
_timer.Enabled = true;
_timer.Start();
这里的StartProcessingItems是我的静态Windows服务方法。
答案 0 :(得分:2)
使用System.Threading.Timer:
var t = new Timer(o =>
{
Console.WriteLine("Hello from the past! " + (DateTime)o);
}, DateTime.Now, TimeSpan.FromSeconds(10), TimeSpan.FromMinutes(1));
它将在10s之后执行委托,然后以1min的频率执行
http://msdn.microsoft.com/fr-fr/library/system.threading.timer%28v=vs.80%29.aspx