Привет! Тут беда, я пишу микросервис, который реализует Worker Services на .NET 6. И по ходу реализации чуть не сошел с ума, разобравшись что к чему.
Документация. Если в поисковик вбить Worker Server .NET, то первое что Вы найдете - это документацию на ASP. Провалившись в нее Вы ничего не поймете, т.к Worker Service бывают трех видов и потеряете время.
Упрощаю Вам задачу:
1. ASP.NET Core - Это фоновые "демоны" для ASP бекенда.
2. .NET Framework - Только для платформы Windows.
3. .NET 6 - Для версии 2.1, 2.2, 3.0, 3.1, 5, 6. Работает только Async. (то что нас и интересует). Быстрый старт и краткий обзор. По умолчанию при старте на .NET 6 создается проект с двумя файлами:
1. Program.cs - Внутри файла создается объект типа IHost, в нем регистрируется новые объекты внутри .ConfigureServices.
Это пригодится для DI. Новые объекты для DI регистрируются в service через AddSingleton. AddScoped - тут не работает .
2. Worker.cs - в нем реализуется интерфейс BackgroundService, благодаря ко