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

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

<
От версии < 13.1 >
отредактировано Alexandr Fokin
на 2021/01/05 17:32
К версии < 16.3 >
отредактировано Alexandr Fokin
на 2022/12/05 06:32
>
Изменить комментарий: К данной версии нет комментариев

Комментарий

Подробности

Свойства страницы
Содержимое
... ... @@ -1,26 +1,17 @@
1 -0) В проекте службы необходимо реализовать класс установщик
1 +Требует реализации логики по установке, запуску, остановке, удалению.
2 +Обладает определенной надежностью, за счет того, что не может быть моментально прервана операционной системой (при определенных условиях) и может корректно обработать логику остановки.
2 2  
4 +----
3 3  
4 -Управление установкой/удалением
6 +{{children/}}
5 5  
6 -1) installutil
7 -C:\Windows\Microsoft.NET\Framework\<version>
8 -installutil <ServiceFile>
9 -installutil /u <ServiceFile>
8 +----
10 10  
11 -2) sc
12 -sc create "[YOUR SERVICE NAME]" binpath= "[PATH_TO_YOUR_SERVICE_EXE]" start= auto
13 -sc delete "[YOUR SERVICE NAME]"
14 -
15 -
16 -Когда рабочая служба дойдет до данной строки:
17 -{{code language="c#"}}System.Diagnostics.Debugger.Launch();{{/code}}
18 -то она выкинет специальный exception, который позволит подключить отладку VisualStudio к службе и ослеживать работу службы, события, возникающие в ее жизненном цикле.
19 -
20 -
21 21  Описание и установка:
22 22  https://metanit.com/sharp/tutorial/21.1.php
23 -https://metanit.com/sharp/tutorial/21.2.php
24 24  
13 +Clean stop of Windows Service in .NET
14 +https://dejanstojanovic.net/aspnet/2017/september/clean-stop-of-windows-service-in-net/
15 +
25 25  Ссылки:
26 -[[Архитектура и модели.Концепция Worker (Worker and WorkerParallelWrapper).WebHome]]
17 +[[Архитектура и модели.Модели.Концепция Worker (Worker and WorkerParallelWrapper).WebHome]]
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