When trying to resolve a scoped dependency inside a HostedService, the runtime returned the following error message:
System.InvalidOperationException: Cannot consume scoped service ‘IScoped’ from singleton ‘Microsoft.Extensions.Hosting.IHostedService’.
The problem is that the IHostedService is a singleton and is created outside a dependency injection scope. Trying to inject any scoped service(e.g. an EF Core DbContext) will result in the error message above.
To solve this problem you have to create a dependency injection scope using the IServiceScopeFactory. Within this scope you can use the scoped services: