.Net Core-如何使用依赖注入创建类的多个实例

时间:2019-04-03 20:37:43

标签: .net dependency-injection .net-core

我有一个特定的场景,我需要创建具有依赖项注入的类的多个实例。

foreach (var setting in settings)
        {
            var client = new ServiceClient();
            dict.Add(somekey, client);
        }

ServiceClient类构造函数已为其他依赖类实现了DI。我如何实例化ServiceClient类?

1 个答案:

答案 0 :(得分:0)

您可以使用 GetService 方法“通过代码”注入 IServiceProvider 以获取服务。

每次您向服务提供商请求服务时,注入的服务应该是临时的,以获取新的实例。如果要注入的服务具有作用域的生存期,则必须围绕代码创建一个新的作用域以获取新的服务。

var service = serviceProvider.GetService<IService>();

根据您的用例考虑使用工厂方法。