Когда я запускаю свое приложение, мне нужно проверить, работает ли одна из моих служб. Если служба не запущена, я должен разрешить пользователю запускать службу, а затем выполнение продолжается. Если Пользователь не хочет запускать службу, я должен выйти из приложения. За каждые 10 секунд мне нужно вывести сообщение для запуска службы, в течение этого времени выполнение программы не должно продолжаться. Ниже приведен код, который я написал. Служба, которую я ищу для запуска, имеет обработчик событий, который уведомляет, когда услуга доступна (обработчик событий - это WindowsServiceAvailableEventHandler).Как возобновить или прервать спящий поток
У меня есть два вопроса
- Как возобновить или прервать поток, который спит (Thread.Sleep (10000)), как только поднимается ServiceAvailable событие?
- Когда пользователь хочет запустить службу, он нажмет кнопку «Да», а «Dailog Box Closes» и пользователь не узнает, происходит ли что-то. Так что я ищу что-то вроде индикатора выполнения, который скажет пользователю, что он ждет пользователь запустит службу ... как только начнется сервис, индикатор выполнения должен закрыть. Как это сделать?
Мой код:
this.windowsService.ServiceAvailable += this.WindowsServiceAvailableEventHandler
While (!CheckifServiceStarted())
{
DialogResult dlgResult = MessageBox.Show("Service is not Started.Please start Service to continue", "Start Service", MessageBoxButtons.YesNo);
if (dlgResult == DialogResult.Yes)
{
Thread.Sleep(10000);
}
else
{
System.Environment.Exit(0);
}
}
private void DataServicesAvailableEventHandler(object sender, EventArgs e)
{
//How to Resume or Interrupt the Thread here?
}
Спасибо за ответ ... Это помогло мне .... – reddy