Ватсон Карли
Шрифт:
Управление службой
С помощью класса
Методы ServiceController | |
---|---|
Start | Start сообщает SCM, что служба должна быть запущена. В нашей служебной программе вызывается OnStart . |
Stop | Stop вызывает OnStop в нашей служебной программе с помощью SCM, если свойство CanStop задано как true в классе службы |
Pause | Pause вызывает OnPause , если свойство CanPauseAndContinue задано как true. |
Continue | Continue вызывает OnContinue , если свойство CanPauseAndContinue задано как true. |
ExecuteCommand | С помощью ExecuteCommand можно послать службе специальную команду. |
Код для управления службой следует далее. Так как код для запуска, останова, приостановки и временной остановки аналогичен, то используется только одна программа обработки для четырех кнопок:
Это действие может потребовать некоторого времени, поэтому курсор в первой инструкции переключается в курсор ожидания. С помощью метода
Выполняющееся приложение выглядит так:
Поиск неисправностей
Поиск неисправностей работает для служб иначе, чем для обычных приложений. Лучший способ образовать службу — создание сначала требуемой функциональности и тестового клиента. В этом случае выполняется нормальная отладка и обработка ошибок. Как только приложение запустится, можно начинать создавать службу, используя эту сборку. Конечно, со службой по-прежнему возможны проблемы: