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

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

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

Комментарий

Подробности

Свойства страницы
Содержимое
... ... @@ -1,34 +1,15 @@
1 -0) В проекте службы необходимо реализовать класс установщик
1 +Требует реализации логики по установке, запуску, остановке, удалению.
2 +Обладает определенной надежностью, за счет того, что не может быть моментально прервана операционной системой (при определенных условиях) и может корректно обработать логику остановки.
2 2  
4 +Время работы функций событий жизненного цикла OnStart, OnStop (и т.п.) должно быть ограничено, иначе может привести к возникновению ошибки. (Значение, отведенное службе на инициализацию и остановку определяется на уровне операционной системы).
5 +При этому, если службы превысит лимит времени при остановке, она не будет принудительно завершена операционной системой.
3 3  
4 -1) Управление установкой/удалением
7 +----
5 5  
6 -1.1) installutil
7 -C:\Windows\Microsoft.NET\Framework\<version>
8 -{{code language="cmd"}}installutil <ServiceFile>
9 -installutil /u <ServiceFile>{{/code}}
9 +{{children/}}
10 10  
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}}
11 +----
14 14  
15 15  
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 -
33 33  Ссылки:
34 34  [[Архитектура и модели.Модели.Концепция Worker (Worker and WorkerParallelWrapper).WebHome]]
XWiki.XWikiComments[2]
Автор
... ... @@ -1,1 +1,0 @@
1 -XWiki.cccc1808
Комментарий
... ... @@ -1,2 +1,0 @@
1 -ОСТАНОВКА, ЗАПУСК, РЕСТАРТ СЛУЖБ WINDOWS НА C#
2 -https://alekseygulynin.ru/ostanovka-zapusk-restart-sluzhb-windows-na-c/
Дата
... ... @@ -1,1 +1,0 @@
1 -2020-07-23 00:12:00.687
XWiki.XWikiComments[3]
Автор
... ... @@ -1,1 +1,0 @@
1 -XWiki.cccc1808
Комментарий
... ... @@ -1,4 +1,0 @@
1 -Путь к файлам, расположенным рядом с exe.
2 -При развертывании у службы windows, в отличи от консольного приложения, относительный путь будет рассматриваться относительно системных папок, а не относительно exe файла службы/
3 -
4 -https://stackoverflow.com/questions/2833959/how-to-find-windows-service-exe-path
Дата
... ... @@ -1,1 +1,0 @@
1 -2020-10-09 16:34:53.843
XWiki.XWikiComments[4]
Автор
... ... @@ -1,1 +1,0 @@
1 -XWiki.cccc1808
Комментарий
... ... @@ -1,11 +1,0 @@
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,1 +1,0 @@
1 -2021-03-04 11:17:48.287