【发布时间】:2022-01-02 04:03:09
【问题描述】:
假设我在“HostedService”类中有以下代码,使用 IServiceScopeFactory 运行范围并创建服务类实例(如此处所述 -> How should I inject a DbContext instance into an IHostedService?):
using (var scope = ScopeFactory.CreateScope())
{
var provisioningService = scope.ServiceProvider.GetRequiredService<IProvisioningService>();
}
所以,我想做一些类似于以下代码的操作,以便在实例服务创建中包含一个参数:
services.AddSingleton<IUserCarrierService>(x => new UserCarrierService(user));
但这是使用 IServiceScopeFactory 类完成的。如果没有,是否有可能在 .net 核心程序执行的后期完全覆盖 Startup 类中内置的一次 DI?
【问题讨论】:
标签: .net .net-core dependency-injection .net-5 service-provider