Да, вы можете разместить любое количество размещенных служб (IHostedService
) в ASP. NET Базовых приложениях. В версии 3 ASP. NET Core использует общий хост c (Host.CreateDefaultBuilder
), который является платформой, в которой размещаются эти размещенные службы при запуске приложения. Фактически, веб-приложение ASP. NET Core само по себе является IHostedService
.
Чтобы добавить дополнительные размещенные службы в ваше базовое приложение ASP. NET, просто зарегистрируйте дополнительные размещенные службы в ваш набор сервисов, например, внутри ConfigureServices
:
services.AddHostedService<MyHostedService>();
, который будет запущен при запуске приложения вместе с базовым веб-сервером ASP. NET Core.
Worker SDK, упомянутый в документации, на самом деле является подмножеством Web SDK, которое вы используете с ASP. NET базовым приложением. Microsoft.NET.Sdk.Worker
в основном Microsoft.NET.Sdk.Web
без веб-спецификаций c, таких как компиляция Razor и папок wwwroot
. Он в основном устанавливает автоматическое c файловое глобирование, например, для appsettings.json
, и выполняет некоторые другие полезные действия, которых нет у ядра Microsoft.NET.Sdk
.
В конечном итоге это означает, что при использовании Web SDK , тогда у вас уже есть все, что предлагает Worker SDK. Поэтому вам не нужно указывать Worker SDK только для размещения дополнительных фоновых сервисов.