Практическое руководство. Создание служб Windows
Примечание.
Эта статья не относится к размещенным службам в .NET. Последние сведения об использовании Microsoft.Extensions.Hosting.BackgroundService служб Windows и шаблоне рабочей службы см. в следующих статье:
При создании службы можно использовать шаблон проекта Visual Studio, который называется Служба Windows. Этот шаблон автоматически выполняет основную часть работы, ссылаясь на необходимые классы и пространства имен, устанавливая наследование от базового класса для служб и переопределяя некоторые методы, которые вы обычно хотите переопределять.
Предупреждение
Шаблон проекта "Службы Windows" в экспресс-выпуске Visual Studio отсутствует.
Для создания функциональной службы необходимо выполнить, как минимум, следующее:
Задайте свойство ServiceName.
Создайте установщики, необходимые для приложения службы.
Переопределите и задайте код для методов OnStart и OnStop для настройки режимов поведения службы.
Создание приложения службы Windows
Создайте проект Служба Windows.
Примечание.
Инструкции по созданию службы без использования шаблона см. в статье Практическое руководство. Создание службы программным способом.
В окне Свойства задайте для своей службы свойство ServiceName.
Примечание.
Значение ServiceName свойства всегда должно соответствовать имени, указанному в классах установщика. При изменении этого свойства необходимо также обновить свойство ServiceName классов установщика.
Установите любые из следующих свойств для определения режима работы службы.
Свойство Параметр CanStop True
, чтобы указать, что служба может принимать запросы на останов работы;false
для предотвращения останова службы.CanShutdown True
, чтобы указать, что служба хочет принимать уведомления о выключении компьютера, на котором она работает, позволяя ему вызывать процедуру OnShutdown.CanPauseAndContinue True
, чтобы указать, что служба может принимать запросы на приостановку или возобновление выполнения;false
для предотвращения приостановки и возобновления работы службы.CanHandlePowerEvent True
, чтобы указать, что служба может обрабатывать уведомления об изменениях состояния питания компьютера;false
, чтобы не сообщать службе об этих изменениях.AutoLog True
для внесения информационных записей в журнал событий приложения, когда служба выполняет некоторое действие;false
для отключения этой функции. Дополнительные сведения см. в статье Практическое руководство. Запись сведений о службах в журнал. Примечание. По умолчанию свойство AutoLog имеет значениеtrue
.Примечание.
Когда CanStop или CanPauseAndContinue имеют значение
false
, диспетчер служб будет отключать пункты меню, отвечающие за остановку, приостановку или возобновление работы службы.Откройте редактор кода и введите данные для выполнения операций для процедур OnStart и OnStop.
Переопределите все прочие методы, для которых необходимо определить функциональные возможности.
Добавить установщики, необходимые для приложения службы. Дополнительные сведения см. в руководстве по добавлению установщиков в приложение-службу.
Скомпилируйте проект, выбрав в меню Сборка пункт Собрать решение.
Примечание.
Не нажимайте клавишу F5 для запуска проекта — таким способом нельзя запустить проект службы.
Установите службу. Для получения дополнительной информации см. How to: Install and Uninstall Services.
См. также
- Знакомство с приложениями служб Windows
- Практическое руководство. Создание службы программным способом
- Практическое руководство. Добавление установщиков в приложение служб
- Практическое руководство. Запись сведений о службах в журнал
- Практическое руководство. Запуск служб
- Практическое руководство. Назначение службам контекста безопасности
- Практическое руководство. Установка и удаление служб
- Пошаговое руководство. Создание приложения служб Windows в конструкторе компонентов