【发布时间】: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