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

.NET Web API 2 Dependency injection - List of dependencies

我有一个使用 Unity 作为 DependencyResolver 的 MS WebApi 2 项目。

我在创建一个工厂 class 时遇到问题,该工厂依赖于特定接口的所有已注册提供者,因为将来会出现更多的提供者,并且工厂不应该仅仅因为一个支持新提供商。

如果我的工厂是如下实现的,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);
        }
    }
}

有没有办法在不依赖 IDependencyResolver 的情况下解析依赖项列表?

谢谢

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

public MyServiceProviderFactory(params IServiceProvider[] serviceProviders)