2009-11-05 3 views
0

Использование RequestAdditionalTime для службы Windows не продлевает период ожидания достаточно долго. я должен ждать на работу, чтобы закончить, поэтому я продолжаюКак продлить время ожидания закрытия окна?

  while (gs_bisProcessing) 
      { 
       OnRequestMoreTime(20000); 
       Thread.Sleep(20000); 
      } 

, но до сих пор работа занимает достаточно долго, что служба при остановке, дает окно сообщения о том, что служба не ответила своевременно. .. и состояние службы остается «Остановка», даже если вы обновляетесь. Так что теперь делать? Я тоже хочу сделать то же самое на Sututdown? Есть идеи?

ответ

1

Вы имели в виду RequestAdditionalTime (ms)?

Я бы, вероятно, проверил до 20 секунд, что похоже на магическое число. Я бы не спал так долго, но, вероятно, проверял ваш флаг каждые 10-15 секунд.

+1

Вызов 'RequestAdditionalTime' в обработчике' OnShutdown' вызовет 'InvalidOperationException' –