C# .NET Web API 2依赖项注入-依赖项列表

C# .NET Web API 2依赖项注入-依赖项列表,c#,asp.net-web-api,inversion-of-control,unity-container,C#,Asp.net Web Api,Inversion Of Control,Unity Container,我有一个MSWebAPI 2项目,它使用Unity作为DependencyResolver 我在创建一个工厂类时遇到了一个问题,该工厂类依赖于特定接口的所有注册提供程序,因为将来会出现更多的提供程序,工厂不应该仅仅因为支持新的提供程序而改变 如果我的工厂实现如下,Unity DependencyResolver将无法实例化它 namespace Wintouch.Web.Api.Implementations { public class MyServiceProviderFactory

我有一个MSWebAPI 2项目,它使用Unity作为DependencyResolver

我在创建一个工厂类时遇到了一个问题,该工厂类依赖于特定接口的所有注册提供程序,因为将来会出现更多的提供程序,工厂不应该仅仅因为支持新的提供程序而改变

如果我的工厂实现如下,Unity DependencyResolver将无法实例化它

namespace Wintouch.Web.Api.Implementations
{
    public class MyServiceProviderFactory : IServiceProviderFactory
    {
        private IEnumerable<IServiceProvider> _ServiceProviders;

        public MyServiceProviderFactory(IEnumerable<IServiceProvider> serviceProviders)
        {
            this._ServiceProviders = serviceProviders;
        }

        public IServiceProvider GetServiceProvider(string providerKey)
        {
            return this._ServiceProviders.First(e => e.key = providerKey);
        }
    }
}
名称空间Wintouch.Web.Api.Implementations
{
公共类MyServiceProviderFactory:IServiceProviderFactory
{
私人IEnumerable_服务提供商;
公共MyServiceProviderFactory(IEnumerable serviceProviders)
{
这。_ServiceProviders=ServiceProviders;
}
公共IServiceProvider GetServiceProvider(字符串providerKey)
{
返回此值。\u ServiceProviders.First(e=>e.key=providerKey);
}
}
}
有没有一种方法可以在不依赖IDependencyResolver的情况下解析依赖项列表


谢谢

尝试通过参数数组注入服务列表

public MyServiceProviderFactory(params IServiceProvider[] serviceProviders)