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

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

[.NET Core] Сервіс на основі .NET Core на Linux

[Копіювати посилання]
Опубліковано 2020-10-29 14:20:02 | | | |
.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 і опублікуйте конфігурацію наступним чином:



Увімкніть сервіс

Після запуску сервісу ви побачите, що можете писати файли звичайним способом, як показано на наступному рисунку:



Завантаження вихідного коду:

Туристи, якщо ви хочете побачити прихований контент цього допису, будь ласкаВідповідь


(Кінець)




Попередній:ASP.NET WebApi використовує MessageHandlers для уніфікації формату моделі інтерфейсу повернення
Наступний:Веб-сервіс консолі на основі HttpSelfHostServer
 Орендодавець| Опубліковано 2020-10-30 09:28:44 |
Вибірковий вихід:
інфо: ExampleHostedService[0]
//           1. Викликано StartAsync.
інфо: ExampleHostedService[0]
//           2. Оголошено OnStarted.
інфо: Microsoft.Hosting.Lifetime[0]
Заявка розпочата. Натисніть Ctrl+C, щоб вимкнути.
інфо: Microsoft.Hosting.Lifetime[0]
Середовище хостингу: Продакшн
інфо: Microsoft.Hosting.Lifetime[0]
Шлях кореня змісту: .. \app-lifetime\bin\Debug\net5.0
інфо: ExampleHostedService[0]
//           3. Оголошено OnStoping.
інфо: Microsoft.Hosting.Lifetime[0]
Додаток закривається...
інфо: ExampleHostedService[0]
//           4. StopAsync викликано.
інфо: ExampleHostedService[0]
//           5. Оголошено OnStoped.


 Орендодавець| Опубліковано 2020-11-6 13:53:00 |
публічний абстрактний клас BackgroundService : IHostedService, IDisposable

Інтерфейс IHostedService забезпечує зручний спосіб запуску фонових завдань у ASP.NET Core веб-додатках (у .NET Core 2.0 і новіших) або на будь-якому процесі/хості (починаючи з .NET Core 2.1 за допомогою IHost). Його головна перевага полягає в тому, що це можливо, коли сам хост ось-ось вимкнетьсяЄ шансЗробіть звичайне скасування, щоб очистити код для фонових завдань.
 Орендодавець| Опубліковано 27.04.2021 15:57:28 |
Зареєструйте метод розширення бекенд-сервісу

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

Mail To:help@itsvse.com