我的.NET Core应用程序需要在指定的时间间隔内爬取数据。我选择使用实现它与API并行运行。托管服务需要注入一些服务。我在中注册它们,但是我收到了一个错误信息:
我的startup.cs:System.InvalidOperationException: 'Cannot consume scoped service 'IXService' from singleton 'Microsoft.AspNetCore.Hosting.Internal.HostedServiceExecutor'.'
services.AddScoped<IXService, XService>();
services.AddHostedService<MyHostedService>();
我曾经遇到过类似的 DbContext 问题,但是在 https://dev59.com/DFYM5IYBdhLWcg3wxicy#48368934 上找到了解决方法。然而这一次我需要依赖注入深层次的组件,每个组件都使用 IServiceScopeFactory 处理看起来不是一个优雅的解决方案。
DbContext
的问题,那么为什么不能为MyHostedService
需要的所有其他服务解决它呢? - Camilo Terevinto