我已经创建了Window Service VS2010,现在我想安排该服务每2小时运行一次。为此,代码是什么。
最佳答案
您可以在ThreadPool类中使用RegisterWaitForSingleObject方法。
您的服务代码应如下所示(从here和here大量盗用):
private ManualResetEvent resetEvent = new ManualResetEvent(false);
private RegisteredWaitHandle handle;
public void OnStart()
{
resetEvent.Reset();
handle = ThreadPool.RegisterWaitForSingleObject(resetEvent, callBack, null, 7200000, false);
}
public void OnStop()
{
reset.Set();
}
private void callBack(object state, bool timeout)
{
if (timeout)
{
//Do Stuff Here
}
else
{
handle.Unregister(null);
}
}