У меня есть несколько медленно встраиваемых ПК под управлением Windows 2000, и у меня возникают проблемы с надежным запуском службы. Существует ОЧЕНЬ заметная задержка между выполнением команды «net start xxx» и сообщением «служба xxx запускается». Это приводит к тому, что мой сервис не запускается.
Мой сервис регулярно даже не получает команду «Пуск» (я регистрирую это и вижу, что это никогда не происходит).
Я пытался повторить это на гораздо более быстром XP-боксе, но задержка, конечно, НАМНОГО короче. Однако я специально добавил в свой обработчик Onstart режим сна (60000) для имитации медленного запуска.
В этом (XP) поле - даже если команда net start возвращает 'служба xxx не может быть запущена (приблизительно через 20 с лишним секунд), служба, похоже, продолжает работу и действительно запускается. В течение этого времени диспетчер службы сообщает о «запуске» - пока не завершится мой сон (60000) и не начнутся отчеты диспетчера службы.
Я также пытался установить для параметра реестра «ServicesPipeTimeout» значение 65000 - и это, похоже, не имело никакого значения: -O - да, я сделал перезагрузку; -).
Кто-нибудь знает, почему это происходит, пожалуйста? Несмотря на то, что я установил для своей записи реестра «ServicesPipeTimeout» значение 65000 - запуск сети завершается примерно через 20 секунд: -O.
Может показаться, что если мне удастся выполнить команду запуска до истечения времени ожидания этой команды «net start» - моя служба действительно запустится. Вот почему я попытался установить для параметра реестра «ServicesPipeTimeout» значение 65000, но, похоже, это не имеет значения.
NB. Моё сервисное приложение написано на C # с использованием VS2008, нацеленного на .Net Framework V2 - вот и все, что могут поддерживать старые блоки 2000.
Большое спасибо - надеюсь, когда-нибудь ....
Привет
Graham