Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 39816|Отговор: 3

[.NET Core] Услуга, базирана на .NET Core в Linux

[Копирай линк]
Публикувано на 29.10.202 14:20:02 | | | |
.NET CORE 3.0 добавя нови шаблони за проекти за Worker Services, които могат да се използват за писане на дългосрочни фонови услуги и лесно внедряване като Windows услуги или Linux демони. Ако инсталираната версия vs2019 е китайската версия, Worker Services става роля за работник.

Linux системна среда: CentOS 8 x64-bit

Създайте нов проект за Worker Service

Първо, отворете VS 2019, за да създадете нов проект за Worker Service.



Linux услуги, трябва да добавя:

Ако е Windows услуга, ще трябва да добавите:

Ако искаш да стартираш набор от програми на няколко места, можеш просто да инсталираш два пакета едновременно. След това в CreateHostBuilder добавете UseWindowsService() и UseSystemd().



Функцията, реализирана от проекта, е да записва логове във файла /test/file.txt, а основният код е следният:



Кодът на задачата WriteFile е следният:

Поради проблеми с разрешенията, програмата не може автоматично да създаде папката /test, която ще бъде обсъдена по-долу.

Внедряване на услуги в CentOS

ДаИнсталирайте .NET Core runtime(Изключвайки поддръжката ASP.NET Core)




Ако искате да инсталирате runtime, който поддържа ASP.NET Core, можете да изпълните следната команда:

[корен@localhost~]# dotnet --list-runtimes
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, за да унифицира формата на модела на интерфейса за връщане
Следващ:Конзолна уеб API услуга, базирана на 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. OnStopping е обявено.
Информация: Microsoft.Hosting.Lifetime[0]
Приложението се затваря...
Информация: ExampleHostedService[0]
//           4. СтопАсинк беше извикан.
Информация: ExampleHostedService[0]
//           5. OnStop беше обявен.


 Хазяин| Публикувано на 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