Практическое руководство. Создание служб Windows
При создании службы можно воспользоваться шаблоном проекта Visual Studio Служба Windows. Этот шаблон выполнит большую часть работы автоматически, ссылаясь на необходимые классы и пространства имен, устанавливая наследование от базового класса служб и переопределяя несколько наиболее вероятных методов.
Примечание
Шаблон Служба Windows и связанные с ним функциональные возможности недоступны в выпуске Visual Studio Standard Edition.
Для создания функциональной службы необходимо выполнить следующий минимум действий:
Задать значение свойства ServiceName;
Создать установщики, необходимые для приложения службы;
Для определения поведения службы переопределить и написать код методов OnStart и OnStop;
Следующим (после добавления установщиков в приложение) этапом является создание проекта установки, который установит откомпилированные файлы проекта и запустит установщики, необходимые для установки службы. Для создания полного проекта установки в него необходимо сначала добавить выходной файл проекта приложения службы, а затем требуемое для установки службы настраиваемое действие. Дополнительные сведения о проектах установки см. в разделе Проекты установки и развертывания. Дополнительные сведения о настраиваемых действиях см. в разделе Пошаговое руководство. Создание настраиваемого действия.
Чтобы создать приложение службы Windows, выполните следующие действия:
Создайте проект Служба Windows.
Примечание
Указания по созданию службы без использования шаблона см. в разделе Практическое руководство. Создание службы программным способом.
В окне Свойства службы задайте значение свойства ServiceName.
Примечание
Значение свойства ServiceName всегда должно соответствовать имени, указанному в классах установщиков.При изменении этого свойства необходимо также менять значение свойства ServiceName в классах установщика.
Задайте любое из следующих свойств для определения порядка работы службы.
Свойство
Параметр
Чтобы указать, что служба может принимать запросы на остановку работы, используйте значение True; для предотвращения остановки службы — значение false.
Используйте значение True для указания того, что служба может принимать уведомления о завершении работы компьютера, на котором она работает; в этом случае сможет вызываться процедура OnShutdown.
Чтобы указать, что служба может принимать запросы на приостановку или продолжение работы, используйте значение True; для предотвращения приостановки и последующего продолжения работы службы используйте значение false.
Чтобы указать, что служба может обрабатывать уведомления об изменении состояния питания компьютера, используйте значение True , а для предотвращения получения уведомлений о таких изменениях — значение false.
Для внесения информационных записей в журнал событий приложения при выполнении службой действия используйте значение True; для отключения этой функции — значение false. Дополнительные сведения см. в разделе Практическое руководство. Запись сведений о службах в журнал.
Примечание
По умолчанию свойство AutoLog имеет значение true.Примечание
Если свойство CanStop или CanPauseAndContinueимеет значение false, диспетчер управления службами отключит пункты меню, отвечающие остановку, приостановку и возобновление работы службы.
Откройте редактор кода и напишите нужный код обработки процедур OnStart и OnStop.
Переопределите все методы, в которых нужно реализовать новую функциональность.
Добавьте установщики, необходимые для приложения службы. Дополнительные сведения см. в разделе Практическое руководство. Добавление установщиков в приложение служб.
Постройте проект, выбрав команду Построить решение в меню Построение.
Примечание
Не следует нажимать кнопку F5 для запуска проекта — таким способом проект службы запустить невозможно.
Установите службу. Дополнительные сведения см. в разделе Практическое руководство. Установка и удаление служб.
См. также
Задачи
Практическое руководство. Создание службы программным способом
Практическое руководство. Добавление установщиков в приложение служб
Практическое руководство. Запись сведений о службах в журнал
Практическое руководство. Запуск служб
Практическое руководство. Назначение службам контекста безопасности
Практическое руководство. Установка и удаление служб
Пошаговое руководство. Создание приложения служб Windows в конструкторе компонентов