如何在vnext启动文件中向一个服务添加多个实现?

时间:2015-01-06 21:36:42

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

我目前在启动文件中有类似的内容:

services.AddTransient<ISomeService, SomeService>();

按预期工作。但是,我需要在此实现中使用其他服务,例如 SomeOtherService。有没有办法将两者都添加到一个服务中?

即。我有这个:

public SomeController(ILoggerFactory factory, ISomeService someService)

我想要这个:

public SomeController(ILoggerFactory factory, ISomeService someService, ISomeOtherService someOtherService)

这是可能的还是我应该这样做?

1 个答案:

答案 0 :(得分:3)

多次致电AddTransient:)

services.AddTransient<ISomeService, SomeService>();
services.AddTransient<ISomeService, SomeOtherService>();

回答更新后的问题:

添加IEnumerable<T>参数:

public SomeController(ILoggerFactory factory, IEnumerable<ISomeService> multipleServices)