Запланируйте запуск службы Windows каждые два часа - PullRequest
2 голосов
/ 06 апреля 2011

Я создал службу Windows VS2010, теперь я хочу запланировать запуск этой службы после каждых 2 часов. Для этого какой код ..

Ответы [ 2 ]

2 голосов
/ 06 апреля 2011

Вы можете использовать метод RegisterWaitForSingleObject в классе ThreadPool.

Ваш сервисный код должен выглядеть примерно так (украдено у здесь и здесь ):

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);
    }   
}
0 голосов
/ 06 апреля 2011

В папке Debug или Release у вас будет версия файла с расширением .exe.

Используйте планировщик заданий, чтобы запускать его в любое время.

В Windows XP и Server 2003 вы можете получить доступ к этому из меню «Пуск» и нажать «Настройки», а затем «Панель управления» для «Запланированные задачи»

Выше будет постоянно использовать ваши ресурсы. Для периодического использования PS Service может сделать работу: http://technet.microsoft.com/en-us/sysinternals/bb897542.aspx

...