【问题标题】:Autofac DependencyResolver of same service with 2 different services具有 2 个不同服务的相同服务的 Autofac DependencyResolver
【发布时间】:2015-05-18 15:43:24
【问题描述】:

我有一个包含两个不同组件的服务

<component type="ConcreteA, ConcreteA" service="Interface, Interface" />
<component type="ConcreteB, ConcreteB" service="Interface, Interface" />

我想解决这两个问题。我正在尝试这种方式

var builder = new ContainerBuilder();
builder.RegisterModule(new ConfigurationSettingsReader());
builder.RegisterControllers(typeof(MvcApplication).Assembly);

this._container = builder.Build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(this._container));

现在我想在我的控制器中解决我的依赖关系

public Interface _myInterface { get; set; }

而我是这样使用的:

_myInterface.DoWork();

如果我在配置中声明一个组件,一切都会完美运行。但是如果我添加更多相同接口类型的组件,就会出现问题。 我试图用

替换属性的声明
public List<Interface> _myInterfaces { get; set; }

但该属性始终为空...我该怎么办?

谢谢

【问题讨论】:

    标签: dependency-injection autofac dependency-resolver


    【解决方案1】:

    已解决

    public Interface[] _myInterfaces { get; set; }
    

    而不是

    public List<Interface> _myInterfaces { get; set; }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-08
      • 2010-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-13
      • 2014-01-20
      相关资源
      最近更新 更多