我的 .net 核心应用程序需要在指定的时间间隔内抓取数据。我选择实现IHostedService
与 API 并行运行它。托管服务需要注入一些服务。我在 中注册它们startup.cs
,但出现错误:
System.InvalidOperationException:'不能从单例'Microsoft.AspNetCore.Hosting.Internal.HostedServiceExecutor'中使用范围服务'IXService'。'
我的startup.cs:
services.AddScoped<IXService, XService>();
services.AddHostedService<MyHostedService>();
我在使用 DbContext 时遇到了类似的问题,我用https://stackoverflow.com/a/48368934/8475133解决了它,但是这次我需要通过更深层次的依赖注入并在每个中处理 IServiceScopeFactory 似乎不是一个优雅的解决方案。