Изменения документа Windows Service
Редактировал(а) Alexandr Fokin 2023/01/23 22:44
<
отредактировано Alexandr Fokin
на 2023/01/23 22:44
на 2023/01/23 22:44
отредактировано Alexandr Fokin
на 2022/06/18 13:40
на 2022/06/18 13:40
Изменить комментарий:
Renamed back-links.
Комментарий
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
-
Объекты (0 изменено, 4 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,32 +1,34 @@ 1 -Требует реализации логики по установке, запуску, остановке, удалению. 2 -Обладает определенной надежностью, за счет того, что не может быть моментально прервана операционной системой (при определенных условиях) и может корректно обработать логику остановки. 1 +0) В проекте службы необходимо реализовать класс установщик 3 3 4 -Время работы функций событий жизненного цикла OnStart, OnStop (и т.п.) должно быть ограничено, иначе может привести к возникновению ошибки. (Значение, отведенное службе на инициализацию и остановку определяется на уровне операционной системы). 5 -При этому, если службы превысит лимит времени при остановке, она не будет принудительно завершена операционной системой. 6 6 7 - ----4 +1) Управление установкой/удалением 8 8 9 -==== Внутренние ссылки: ==== 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 -{{children/}} 14 14 15 -====== Обратные ссылки: ====== 16 +2) Запуск остановка 17 +{{code language="cmd"}}net stop <servicename> 18 +net start <servicename>{{/code}} 16 16 17 -{{velocity}} 18 -#set ($links = $doc.getBacklinks()) 19 -#if ($links.size() > 0) 20 - #foreach ($docname in $links) 21 - #set ($rdoc = $xwiki.getDocument($docname).getTranslatedDocument()) 22 - * [[$escapetool.xml($rdoc.fullName)]] 23 - #end 24 -#else 25 - No back links for this page! 26 -#end 27 -{{/velocity}} 28 28 29 ----- 21 +Когда рабочая служба дойдет до данной строки: 22 +{{code language="c#"}}System.Diagnostics.Debugger.Launch();{{/code}} 23 +то она выкинет специальный exception, который позволит подключить отладку VisualStudio к службе и ослеживать работу службы, события, возникающие в ее жизненном цикле. 30 30 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 + 31 31 Ссылки: 32 -[[Архитектура и модели.Модели. МодельWorker (Worker and WorkerParallelWrapper).WebHome]]34 +[[Архитектура и модели.Модели.Концепция Worker (Worker and WorkerParallelWrapper).WebHome]]
- XWiki.XWikiComments[1]
-
- Автор
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.cccc1808 - Комментарий
-
... ... @@ -1,0 +1,1 @@ 1 +Время работы функций событий OnStart, OnStop и т.п. должно быть ограничено, иначе может привести к возникновению ошибки. - Дата
-
... ... @@ -1,0 +1,1 @@ 1 +2020-02-16 19:58:09.77
- 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