Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Примечание.
Эта статья не относится к размещенным службам в .NET. Последние сведения об использовании Microsoft.Extensions.Hosting.BackgroundService служб Windows и шаблоне рабочей службы см. в следующих статье:
Если вы решили не использовать шаблон проекта "Служба Windows", для создания собственной службы вам придется настроить наследование и другие элементы инфраструктуры самостоятельно. Создавая службу программным способом, вам необходимо выполнить несколько действий, которые в случае с шаблоном выполняются автоматически.
Для класса службы необходимо настроить наследование от класса ServiceBase.
Для проекта службы необходимо создать метод
Main, который определяет запускаемые службы и вызывает для них метод Run.Необходимо переопределить процедуры OnStart и OnStop и добавить код, который они должны выполнять.
Создание службы программным способом
Создайте пустой проект, а затем создайте ссылку на необходимые пространства имен.
В окне Обозреватель решений щелкните правой кнопкой мыши узел Ссылки и выберите пункт Добавить ссылку.
На вкладке .NET Framework найдите System.dll и щелкните Выбрать.
Найдите System.ServiceProcess.dll и щелкните Выбрать.
Щелкните OK.
Добавьте класс и настройте для него наследование от ServiceBase.
public class UserService1 : ServiceBase { }Public Class UserService1 Inherits System.ServiceProcess.ServiceBase End ClassНастройте класс службы, добавив следующий код:
public UserService1() { ServiceName = "MyService2"; CanStop = true; CanPauseAndContinue = true; AutoLog = true; }Public Sub New() Me.ServiceName = "MyService2" Me.CanStop = True Me.CanPauseAndContinue = True Me.AutoLog = True End SubСоздайте для класса метод
Mainи с его помощью определите службы, которые будет содержать класс.userService1— имя класса.public static void Main() { ServiceBase.Run(new UserService1()); }Shared Sub Main() System.ServiceProcess.ServiceBase.Run(New UserService1) End SubПереопределите метод OnStart и укажите обработку, которая должна выполняться при запуске службы.
protected override void OnStart(string[] args) { // Insert code here to define processing. }Protected Overrides Sub OnStart(ByVal args() As String) ' Insert code here to define processing. End SubПереопределите все прочие методы, для которых нужно задать определенную обработку, и напишите код, благодаря которому служба будет понимать, что нужно делать в каждом случае.
Добавить установщики, необходимые для приложения службы. Дополнительные сведения см. в руководстве по добавлению установщиков в приложение-службу.
Скомпилируйте проект, выбрав в меню Сборка пункт Собрать решение.
Примечание.
Не нажимайте клавишу F5 для запуска проекта — таким способом нельзя запустить проект службы.
Создайте проект установки и настраиваемые действия для установки службы. Пример см. в статье Пошаговое руководство. Создание приложения-службы Windows в конструкторе компонентов.
Установите службу. Для получения дополнительной информации см. How to: Install and Uninstall Services.
См. также
- Знакомство с приложениями служб Windows
- Практическое руководство. Создание служб Windows
- Практическое руководство. Добавление установщиков в приложение служб
- Практическое руководство. Запись сведений о службах в журнал
- Пошаговое руководство. Создание приложения служб Windows в конструкторе компонентов