0

우리는 IoC 용 Autofac을 사용하는 대형 ASP.NET MVC 애플리케이션을 보유하고 있습니다.다른 클래스에 의해 생성 된 클래스를 등록하십시오.

우리 프로젝트에는 스토어에 관한 모든 종류의 정보를 검색하는 데 유용한 StoreInformationService라는 서비스가 포함되어 있습니다.

StoreInformationService에는 OpeningHours라는 클래스를 반환하는 OpeningHours라는 속성이 있습니다.이 속성은 많은 컨트롤러에서 자주 사용됩니다.

우리의 컨트롤러가 자신의 생성자에서 OpeningHours를 받아 들일 수 있고 StoreInformationService에 관심이 없도록 OpenHours를 Autofac에 등록하려고합니다.

public MyController { 

    OpeningHours openingHours; 

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

    ... 

} 

나는 다소 성가신 등록 소스를 사용하여이 작업을 수행했지만 간과했던 간단한 방법이 있어야한다고 생각합니다.

올바른 방향으로 알려주십시오.

답변

2

는 내가 그것을

 builder.Register<OpeningHours>(c => 
     { 
      var cc = c.Resolve<StoreInformationService>(); 
      return cc.OpeningHours; 
     }); 

있어 생각
관련 문제