我已经创建了Window Service VS2010,现在我想安排该服务每2小时运行一次。为此,代码是什么。

最佳答案

您可以在ThreadPool类中使用RegisterWaitForSingleObject方法。

您的服务代码应如下所示(从herehere大量盗用):

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);
    }
}

10-08 03:16