Практическое руководство. Запуск служб
Примечание.
Эта статья не относится к размещенным службам в .NET. Последние сведения об использовании Microsoft.Extensions.Hosting.BackgroundService служб Windows и шаблоне рабочей службы см. в следующих статье:
Установленную службу необходимо запустить. Процедура запуска вызывает метод OnStart в классе службы. Как правило, метод OnStart определяет полезные действия, которые будет выполнять служба. Запущенная служба остается активной, пока не будет приостановлена или остановлена вручную.
Службы можно настроить на запуск автоматически или вручную. Служба, которая запускается автоматически, будет запущена при первом включении или перезагрузке компьютера, на котором она установлена. Службу, которая запускается вручную, должен запустить пользователь.
Примечание.
По умолчанию службы, созданные с помощью Visual Studio, настроены на запуск вручную.
Есть несколько способов запуска службы вручную: из диспетчера служб или обозревателя сервера либо из кода, используя компонент, который называется ServiceController.
Вы можете задать свойство StartType в классе ServiceInstaller, чтобы определить способ запуска службы — вручную или автоматически.
Указание способа запуска службы
Создав службу, добавьте для нее необходимые установщики. Дополнительные сведения см. в руководстве по добавлению установщиков в приложение-службу.
В конструкторе щелкните установщик процессов службы, с которой вы работаете.
В окне свойств задайте свойству StartType одно из следующих значений:
Чтобы установить службу Задайте это значение При перезапуске компьютера Автоматически При запуске службы с помощью явного действия пользователя Вручную Совет
Чтобы полностью запретить запуск службы, можно задать свойству StartType значение Disabled (Отключено). Это можно сделать, если вы собираетесь перезагружать сервер несколько раз и хотите сэкономить время, запретив запуск служб, которые обычно запускаются одновременно.
Примечание.
Эти и другие свойства можно изменить после установки службы.
Есть несколько способов запуска службы, для процесса StartType которой настроено значение Manual (Вручную): из диспетчера служб или обозревателя серверов либо из кода. Важно отметить, что в действительности не все эти методы приводят к запуску службы в контексте диспетчера служб. При использовании обозревателя сервера и программных способов применяется контроллер.
Запуск службы из обозревателя сервера
В обозревателе сервера добавьте нужный сервер, если его нет в списке. Дополнительные сведения см. в руководстве по получению доступа и инициализации обозревателя сервера и обозревателя базы данных.
Разверните узел Службы и выберите службу, которую нужно запустить.
Щелкните имя службы правой кнопкой мыши и выберите Запуск.
Запуск службы из приложения "Службы"
Откройте приложение Службы.
Выберите службу в списке, щелкните ее правой кнопкой мыши и выберите Запуск.
Запуск службы из кода
Создайте экземпляр класса ServiceController и настройте его для взаимодействия со службой, которой нужно управлять.
Чтобы запустить службу, вызовите метод Start.