I\'ve been reading and learing about the new Worker Service features provided in .Net Core 3.0. I have been using this link from Microsoft: Background tasks with hosted services
Yes, you can host any number of hosted services (IHostedService
) within ASP.NET Core applications. With version 3, ASP.NET Core uses the generic host (Host.CreateDefaultBuilder
) which is the framework that is hosting these hosted services when the application starts. In fact, the ASP.NET Core web application is an IHostedService
itself.
To add additional hosted services to your ASP.NET Core application, just register additional hosted services with your service collection, e.g. within the Startup’s ConfigureServices
:
services.AddHostedService<MyHostedService>();
That service will then launch together with the ASP.NET Core web server when the application runs.
The Worker SDK that is mentioned in the documentation is actually a subset of the Web SDK that you are using with ASP.NET Core application. Microsoft.NET.Sdk.Worker
is basically Microsoft.NET.Sdk.Web
without the web-specific stuff like Razor compilation and wwwroot
folder stuff. It basically sets up automatic file globbing e.g. for the appsettings.json
and does some other useful things that the core Microsoft.NET.Sdk
does not have.
Ultimately this means, that when you are using the Web SDK, then you already have everything the Worker SDK offers. So you do not need to specify the Worker SDK just to host additional background services.