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
待つ前にステータスを設定しようとするかもしれないと提案しました. そうですか?