如何在.net core 1.0中获取所有接口实例

Ani*_*aha 1 c# dependency-injection asp.net-core-mvc .net-core asp.net-core

在Mvc5中,我使用unity作为服务容器,并使用这种方式解析特定类型的所有对象.

    public IUnityContainer UnityContainer;

    public MvcApplication()
    {
        UnityContainer = UnityConfig.GetConfiguredContainer();
    }


    protected void Application_Start()
    {
        foreach (var task in UnityContainer.ResolveAll<IRunAtInit>())
        {
            task.Execute();
        }
    }
Run Code Online (Sandbox Code Playgroud)

在.net核心中使用默认服务容器如何解析特定类型的所有对象?

Tse*_*eng 6

只需使用复数版本的扩展方法即可.

而不是services.GetService<T>()使用services.GetServices<T>().

如果要将它们注入服务,只需注入IEnumerable<IRunAtInit>构造函数即可.