Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 36585|Відповідь: 3

[ASP.NET] C# — це сервіс Windows, який регулярно виконує завдання

[Копіювати посилання]
Опубліковано 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#
Опубліковано 08.05.2019 10:59:16 |
Дякую, що поділилися, якраз вчасно, надішліть мені
Опубліковано 22.06.2020 14:04:33 |
Завжди повідомляйте про цю помилку
 Орендодавець| Опубліковано 07.09.2020 15:21:59 |
awclovelin Опубліковано 2020-6-22 14:04
Завжди повідомляйте про цю помилку

Запущена команда неправильна, ця служба не встановлена. Якщо ви встановлюєте його, натискаючи на командний рядок, можете звернутися до мого наступного допису.
Використання Topshelf для запланованих виконавчих завдань на C#
https://www.itsvse.com/thread-7503-1-1.html

Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com