【发布时间】:2020-10-02 20:53:57
【问题描述】:
我正在使用这样的ServiceProvider.GetService<T>() 解析服务。但后来我发现 Resolving Scoped Services 在调用 ServiceProvider.GetService<T>() 方法时出现运行时错误,说在根提供程序中找不到服务。然后我发现像这样解决创建范围,
using (var scope = _serviceProvider.CreateScope())
{
return scope.ServiceProvider.GetService<T>();
}
我想创建一个通用函数。但问题是我不知道何时使用服务提供者范围以及何时不使用服务提供者,因为我不知道服务生命周期类型(Scoped/Singleton)。 我如何创建这个通用函数来解决服务而不知道生命周期或解决生命周期问题?
【问题讨论】:
标签: asp.net-core .net-core dependency-injection inversion-of-control ioc-container