В некоторых случаях моя служба Windows .Net может генерировать исключение StackOverflowException. К сожалению, похоже, что служба просто останавливается и ничего не записывает в журнал событий. Я даже не получаю сообщение от менеджера управления службами о том, что служба не работает.
есть ли вообще способ, которым служба Windows может обнаружить, что такое исключение произошло?
В документации по этому исключению MSDN говорит: «Обратите внимание, что приложение, в котором размещается общеязыковая среда выполнения (CLR), может указать, что CLR выгружает домен приложения, в котором происходит исключение переполнения стека, и позволяет соответствующему процессу продолжаться». это то, что я ожидаю от реализации службы Windows, но это не так.
Пожалуйста, не просто отвечайте, сказав, что я должен убедиться, что мой код никогда не вызывает такого исключения - поверьте мне, я бы, если мог, - то, что я пытаюсь сделать, - это разобраться с наихудшим сценарием разумным способом и сделать мой сервис устойчив к непредвиденным ошибкам.