Изменения документа Windows Service

Редактировал(а) Alexandr Fokin 2023/01/23 22:44

<
От версии < 16.8 >
отредактировано Alexandr Fokin
на 2022/12/05 06:40
К версии < 16.1 >
отредактировано Alexandr Fokin
на 2022/06/18 13:40
>
Изменить комментарий: Renamed back-links.

Комментарий

Подробности

Свойства страницы
Содержимое
... ... @@ -1,15 +1,34 @@
1 -Требует реализации логики по установке, запуску, остановке, удалению.
2 -Обладает определенной надежностью, за счет того, что не может быть моментально прервана операционной системой (при определенных условиях) и может корректно обработать логику остановки.
1 +0) В проекте службы необходимо реализовать класс установщик
3 3  
4 -Время работы функций событий жизненного цикла OnStart, OnStop (и т.п.) должно быть ограничено, иначе может привести к возникновению ошибки. (Значение, отведенное службе на инициализацию и остановку определяется на уровне операционной системы).
5 -При этому, если службы превысит лимит времени при остановке, она не будет принудительно завершена операционной системой.
6 6  
7 -----
4 +1) Управление установкой/удалением
8 8  
9 -{{children/}}
6 +1.1) installutil
7 +C:\Windows\Microsoft.NET\Framework\<version>
8 +{{code language="cmd"}}installutil <ServiceFile>
9 +installutil /u <ServiceFile>{{/code}}
10 10  
11 -----
11 +1.2) sc
12 +{{code language="cmd"}}sc create "<YOUR SERVICE NAME>" binpath= "[PATH_TO_YOUR_SERVICE_EXE]" start= auto
13 +sc delete "<YOUR SERVICE NAME>"{{/code}}
12 12  
13 13  
16 +2) Запуск остановка
17 +{{code language="cmd"}}net stop <servicename>
18 +net start <servicename>{{/code}}
19 +
20 +
21 +Когда рабочая служба дойдет до данной строки:
22 +{{code language="c#"}}System.Diagnostics.Debugger.Launch();{{/code}}
23 +то она выкинет специальный exception, который позволит подключить отладку VisualStudio к службе и ослеживать работу службы, события, возникающие в ее жизненном цикле.
24 +
25 +
26 +
27 +Описание и установка:
28 +https://metanit.com/sharp/tutorial/21.1.php
29 +
30 +Clean stop of Windows Service in .NET
31 +https://dejanstojanovic.net/aspnet/2017/september/clean-stop-of-windows-service-in-net/
32 +
14 14  Ссылки:
15 15  [[Архитектура и модели.Модели.Концепция Worker (Worker and WorkerParallelWrapper).WebHome]]
XWiki.XWikiComments[2]
Автор
... ... @@ -1,0 +1,1 @@
1 +XWiki.cccc1808
Комментарий
... ... @@ -1,0 +1,2 @@
1 +ОСТАНОВКА, ЗАПУСК, РЕСТАРТ СЛУЖБ WINDOWS НА C#
2 +https://alekseygulynin.ru/ostanovka-zapusk-restart-sluzhb-windows-na-c/
Дата
... ... @@ -1,0 +1,1 @@
1 +2020-07-23 00:12:00.687
XWiki.XWikiComments[3]
Автор
... ... @@ -1,0 +1,1 @@
1 +XWiki.cccc1808
Комментарий
... ... @@ -1,0 +1,4 @@
1 +Путь к файлам, расположенным рядом с exe.
2 +При развертывании у службы windows, в отличи от консольного приложения, относительный путь будет рассматриваться относительно системных папок, а не относительно exe файла службы/
3 +
4 +https://stackoverflow.com/questions/2833959/how-to-find-windows-service-exe-path
Дата
... ... @@ -1,0 +1,1 @@
1 +2020-10-09 16:34:53.843
XWiki.XWikiComments[4]
Автор
... ... @@ -1,0 +1,1 @@
1 +XWiki.cccc1808
Комментарий
... ... @@ -1,0 +1,11 @@
1 +Работа с зависшей на остановке и удалении службой:
2 +{{code language="cmd"}}
3 +sc queryex <serviceName> если PID 0, то служба остановлена, иначе она еще работает.
4 +{{/code}}
5 +
6 +Если служба еще работает, то выполнить
7 +{{code language="cmd"}}
8 +taskkill /f /pid [PID]
9 +{{/code}}
10 +
11 +Если служба помечена на удаление, но не может удалиться, то необходимо закрыть все процессы mmc
Дата
... ... @@ -1,0 +1,1 @@
1 +2021-03-04 11:17:48.287