Я использую ServiceController.WaitForStatus
в первый раз, чтобы ограничить время, потраченное на то, чтобы попытаться запустить службы, которые не запустится. Мое предположение, чтобы использовать его как это:Предоставляет ли ServiceController.WaitForStatus статус или просто ждать?
var sc = new ServiceController(_monitoredService);
var seconds = _startWaitTimeout/1000;
sc.Start();
sc.WaitForStatus(ServiceControllerStatus.Running, new TimeSpan(0, 0, 0, seconds));
if (sc.Status != ServiceControllerStatus.Running)
{
_logger.Warn($"'{_monitoredService}' did not start within {seconds} seconds.");
}
Тогда маленький дьявол на моем плече предположил, что WaitForStatus
может взять на себя, чтобы попытаться установить статус перед ожиданием. Имеет ли это?
[Нет] (https://msdn.microsoft.com/library/35st9aw1 (v = vs.110) .aspx). Из Документов: * Используйте WaitForStatus, чтобы приостановить обработку приложения до тех пор, пока служба не достигнет необходимого статуса. * Вот и все. – makadev
@makadev Сделай это ответом, и я соглашусь. – ProfK
Что у нас есть голос, маленький человек? Я не знал, означает ли * обязательный статус * тот, что был в вызове 'WaitForStatus', или один в запросе настройки статуса. – ProfK