|
|
Опубліковано 27.04.2019 17:56:09
|
|
|
|

Передмова
Продовжуючи попередню статтю про планувальник завдань Windows, ця стаття зафіксує створення сервісів Windows.
Середовище та інструменти
>Система Windows 10
>VS 2017
Текст
1: Створіть нове рішення та створіть сервіс для Windows. Ім'я — "WindowsServiceDemo.exe”
2: Подвійний клік на файлі «Service1.cs», правою кнопкою миші на порожній простір — > виберіть «Додати інсталятор».
3: У двох згенерованих компонентах натисніть на компонент "serviceProcessInstaller1", а у формі властивостей встановіть тип облікового запису "Account" на "LocalSystem".
4: У двох згенерованих компонентах натисніть на компонент "serviceInstaller1", у формі властивостей, встановіть відповідні властивості і потім збережіть.
5: Клацніть правою кнопкою миші на "Service1.cs" – > виберіть "Переглянути код".
6: У відповідному методі запишіть логіку обробки. Метод OnStart(): стосується методу, який входить під час запуску сервісу Windows. OnStop(): Як випливає з назви, це спосіб входити, коли сервіс зупиняється. Ми можемо написати таймер, який дозволяє програмі обробляти логіку під час звичайного сексу.
7: Створіть два файли блокнота, назвіть і змініть суфікси «Install.bat» та «Uninstall.bat» відповідно. Примітка: Назва суфікса — .bat. Вставте його всередину проєкту. І змініть атрибут на «Копіювати локально».
8: Два файли, які ми щойно створили, призначені для встановлення сервісу та видалення сервісу. Тепер запиши пакетний код у ці два файли і збережи. Відкрийте файл "Install.bat" і запишіть наступний код
Примітка: "WindowsServiceDemo.exe" — це щойно створена exe-програма. "AServiceTest" — це набір "ServiceName" у компоненті "serviceInstaller1".
Відкрийте файл "Uninstall.bat" і запишіть наступний код
9: F6 генерує його. У каталозі проєкту "bin\Debug". Клацніть правою кнопкою миші на "Install.bat" – > виберіть "Запустити як адміністратор".
Після завершення встановлення сервісу. Ми бачимо, що файл «Log.txt» записує рядок даних кожні 10 секунд.
Ми бачимо встановлені сервіси. Run – > введіть "services.msc".
Зупиніть обслуговування зараз. Клацніть правою кнопкою миші на "Uninstall.bat" – > виберіть "Запустити як адміністратор".
Після того, як сервіс буде девстановлено. Ми бачимо, що файл «Log.txt» також містить рядок даних, записаних у нього.
#Налагодження сервісів Windows
Сервіси Windows не можна запускати безпосередньо з налагодженим F5, F10. Отже, як налагодити програму, якщо є аномалія? 1: По-перше, використовуйте адміністратора для запуску файлу "Install.bat" і дайте програмі запустити спочатку.
2: Поверніться до VS і виберіть "Debug" у меню – > виберіть "Прикріпити до процесу".
3: У спливаючому вікні відмітьте «Показати процеси всіх користувачів», знайдіть .exe застосунок, який ми створили, і натисніть «Прикріпити».
4: Зламати точку в методі, щоб під час роботи певного часу це могло активувати налагодження.
Епілог
Налагодження сервісів Windows дуже складне, іноді програма написана в певній задачі, і сервіс не може запуститися, що ускладнює налагодження. Зазвичай написання Windows-сервісів супроводжується консольним додатком. Відлагодіть його в консольному додатку, а потім перенесіть у Windows Services. Наступна тема опише простіший спосіб створення сервісу Windows.
Примітка: пакетні файли, які запускають і видаляють обидві програми, мають запускатися як адміністратори. Інакше це буде неправильно.
|
Попередній:Поширені алгоритми для обміну великими даними (додатки)Наступний:Використання Topshelf для запланованих виконавчих завдань на C#
|