.NET CORE 3.0 додає нові шаблони проєктів для Worker Services, які можна використовувати для написання довготривалих фонових сервісів і легкого розгортання їх як сервісів Windows або Linux-демонів. Якщо встановлена версія vs2019 — це китайська версія, Worker Services стає роллю працівника.
Системне середовище Linux: CentOS 8 x64-біт
Створити новий проєкт Worker Service
По-перше, відкрийте VS 2019, щоб створити новий проєкт Worker Service.
Linux-сервіси, потрібно додати:
Якщо це сервіс Windows, потрібно додати:
Якщо хочете запускати набір програм у кількох місцях, можна просто встановити два пакети одночасно. Далі у CreateHostBuilder додайте UseWindowsService() та UseSystemd().
Функція, реалізована проєктом, полягає у записі журналів у файл /test/file.txt, а основний код виглядає так:
Код завдання WriteFile виглядає так:
Через проблеми з дозволами програма не може автоматично створити папку /test, про що буде розглянуто нижче.
Розгортання сервісів у CentOS
ТакВстановити .NET Core runtime(За винятком підтримки ASP.NET Core)
Якщо ви хочете встановити систему виконання, який підтримує ASP.NET Core, можете виконати таку команду:
[корінь@localhost~]# dotnet --list-runtime Microsoft.NETCore.App 3.1.7 [/usr/lib64/dotnet/shared/Microsoft.NETCore.App]
Створіть папку /test і надайте дозволи наступним чином:
У папці /etc/systemd/system створіть конфігураційний файл сервісу itsvse.service наступним чином:
Додайте сервісні акаунти та створюйте папки
Опублікуйте та завантажте Job.Service у каталог сервера /home/dotnetuser/job і опублікуйте конфігурацію наступним чином:
Увімкніть сервіс
Після запуску сервісу ви побачите, що можете писати файли звичайним способом, як показано на наступному рисунку:
Завантаження вихідного коду:
Туристи, якщо ви хочете побачити прихований контент цього допису, будь ласка Відповідь
(Кінець)
|