Меня очень интересует ответ на другой вопрос, касающийся сторожевых таймеров для служб Windows (см. здесь). В этом ответе говорилось:
Я также использовал внутреннюю сторожевую систему, работающую в другом потоке. Этот поток просматривает основной поток на предмет активности, такой как вывод журнала или событие переключения. Если активность не отображается, служба считается зависшей, и я закрываю ее.
В этом случае вы можете настроить Windows на автоматический перезапуск остановленной службы, и это может решить проблему (если это не внутренняя логическая ошибка).
Также службы, с которыми я работаю, имеют текстовые журналы, которые записываются в журнал. В дополнение к службам, которые собираются ненадолго засыпать, я записываю время следующего пробуждения. Я использую MTAIL для просмотра журнала на предмет вывода.
Может ли кто-нибудь дать образец кода, как использовать внутренний сторожевой таймер, работающий в другом потоке, поскольку в настоящее время у меня есть задача разработать службу Windows, которая сможет самостоятельно перезапускаться в случае сбоя, зависания и т. Д.
Я действительно ценю твою помощь.