Servicecontroller.stop () не кажется, что ничего не останавливает

StackOverflow https://stackoverflow.com/questions/2819176

Вопрос

My Box Dev - это машина Windows 7 (x64). У меня есть какой-то код (C #, .NET 2.0), что в определенных обстоятельствах проверяет, работает ли обслуживание, а затем останавливает его.

ServiceController matchedService = //My Service!

//If statements and such

matchedService.Stop();
matchedService.WaitForStatus(ServiceControllerStatus.Stopped);

Теперь я могу проверить MyService на самом деле установлен и работает. Я могу сказать вам, что я запускаю Visual Studio 2008 в качестве администратора при отладке. Я также могу убедиться, что через пару Если Заявления, я заводил на .stop () и .waitforstatus (), часть программирования. Я знаю, что если шаг на вызов .stop (), сам сервис просто продолжает работать (глядя на это в Услуги, Хотя это происходит для меня, возможно, я должен схватить лучший инструмент для этого. Я уверен, что есть инструмент Sysinternals, который может дать мне больше информации). Как я наступаю на вызов .waitforstatus () (), я в основном ветер в ожидании остановленного статуса. Отказ Отказ навсегда. Ну, я позволил ему сидеть там более 15 минут вчера (дважды) и ничего не происходит. Мы никогда не делаем это на следующую строку кода. Это точно так же, как космическое странность Боуи (вы знаете, о чем я говорю).

Есть лота о MyService, о котором вы ничего не знаете. Вещи, которые вы бы не поняли. Вещи, которые вы не могли. Отказ Отказ Позвольте мне указать это прямо. Никаких услуг не зависит от MyService, и MyService не зависит от других услуг. Приложение My Houseervice и Sonofmyservice Оба, кажется, ведут себя правильно в этот момент в коде. Все эти услуги имеют одинаковые характеристики (они наши собственные услуги, которые мы вылупили в секретной лаборатории и не имеют зависимостей). Возможно ли это что-то не так с установкой MyService или что-то в этом роде?

Я знаю, что если я остановлю отладку на данный момент, MyService все еще перечислен как работает в Услуги (даже после удара обновления). Если я попытаюсь перезапустить его, затем снова (или запустить свое приложение и добраться до этой точки), я получаю сообщение о том, что он не сможет принимать контрольные сообщения. После этого сервис отображается как остановлена, и я могу начать его нормально.

Почему обслуживание не останавливается? Это крик выигрыш 7? Неудача со своей стороны, чтобы понять сервисного контроля или выиграть услуги в целом?

Это было полезно?

Решение

После дальнейшего расследования я считаю, что это проблема с самой услугой.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top