Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 39816|Ответ: 3

[.NET Core] Сервис на базе .NET Core на Linux

[Скопировать ссылку]
Опубликовано 29.10.2020 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(За исключением поддержки 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. Вызван StopAsync.
Информация: ExampleHostedService[0]
//           5. OnStop был вызван.


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