У меня есть приложение, которое запускается при запуске системы и должно общаться с локальной установкой SQL Server 2005. Я использую класс ServiceController, чтобы дождаться, пока он войдет в состояние «Работает», и в большинстве случаев это работает нормально. Однако иногда при «холодной» загрузке мой первый запрос завершается неудачно, говоря, что он не может войти в систему текущего пользователя.
Звучит как состояние гонки, но я решил, что мой вызов WaitForStatus должен был его решить.
Есть ли лучший способ убедиться, что он действительно работает? Должен ли я просто добавить дополнительный сон и предположить, что он достаточно длинный?