Autofac DependencyResolver одного сервиса с двумя разными сервисами
У меня один сервис с двумя разными компонентами
<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; }
Но свойство всегда остается нулевым... Как я могу это сделать?
Спасибо
1 ответ
Решение
Решено с
public Interface[] _myInterfaces { get; set; }
вместо
public List<Interface> _myInterfaces { get; set; }