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

本文关键字:依赖 列表 注入 Web NET API | 更新日期: 2023-09-27 18:29:44

我有一个MS WebApi 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);
        }
    }
}

有没有一种方法可以在不依赖IDdependencyResolver的情况下解析依赖项列表?

感谢

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

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

public MyServiceProviderFactory(params IServiceProvider[] serviceProviders)