GetAllInstance与asp.net 5内置依赖性inection

时间:2016-02-15 20:33:41

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

我想在ASP.NET5(MVC6)应用程序中使用服务定位器模式。所以我想要的是获取我的所有接口实例。

我不想使用任何其他DI框架,因为我知道这已经在DI容器中可用,例如structuremap和autofac。

我想做一些像获取ITask接口的所有实例。以下是界面代码。

public Interface ITask
{
    void Execute();
}

//What I want to do
foreach (var task in container.GetAllInstances<ITask>())
{
    task.Execute();
}

这就是我想要做的。我想获得所有ITask实例。然后我想得到ITask的所有实例并执行该类的调用execute方法。

任何帮助将不胜感激!提前谢谢。

1 个答案:

答案 0 :(得分:0)

假设某些实例已添加到DI中,您应该可以执行以下操作:

var allInstance = container.GetService<IEnumerable<ITest>>();