Как я могу достичь бесконечного цикла без таймера / потока в C # Windows Service? - PullRequest
0 голосов
/ 20 февраля 2019
protected override void OnStart(string[] args)
{
 while (true)
 {
 // do some work

  // idle
  Thread.Sleep(0, interval, 0)
 }
}

Я не могу использовать таймер / поток для своей службы, потому что моя сторонняя dll не работает, поэтому я пробовал условие while в OnStart, которое выдает ошибку.Как мне добиться бесконечного цикла без таймера / потока.

1 Ответ

0 голосов
/ 20 февраля 2019

Вам придется выполнить работу в другом потоке, или диспетчер службы Windows будет считать, что ваша служба не запущена, потому что OnStart () никогда не возвращается.

Ваша сторонняя библиотека не должна работать по-другому, однако для потока может потребоваться другая модель квартиры.Попробуйте создать поток STA (см. Запуск STAThread в C # ) и посмотрите, работает ли он, в противном случае обратитесь к создателю библиотеки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...