0

У нас есть большое приложение ASP.NET MVC, в котором мы используем Autofac для IoC.Autofac зарегистрировать класс, созданный другим классом

Наш проект содержит сервис StoreInformationService, который полезен для получения всех видов информации о нашем магазине.

StoreInformationService имеет свойство, называемое OpeningHours, которое возвращает класс, называемый OpeningHours, который часто используется во многих контроллерах.

Я хочу зарегистрировать OpeningHours с Autofac так, чтобы наши контроллеры могли просто принять OpeningHours в своих конструкторах и не беспокоиться о StoreInformationService.

public MyController { 

    OpeningHours openingHours; 

    public MyController(OpeningHours openingHours) { 
     this.openingHours = openingHours; 
    } 

    ... 

} 

Я достиг этого с довольно грязным RegistrationSource, но я чувствую, что должна быть простым способом сделать это, которое я упускать из вида?

Просьба указать мне в правильном направлении.

ответ

2

Я думаю, что у меня есть это

 builder.Register<OpeningHours>(c => 
     { 
      var cc = c.Resolve<StoreInformationService>(); 
      return cc.OpeningHours; 
     }); 
Смежные вопросы