중간 크기 asp.net MVC 앱이 있습니다. 그것은 모든 리포지토리 사용, 도메인 서비스 호출 등을 처리하는 서비스 계층을 소비합니다. 내 컨트롤러 작업은 매우 슬림합니다. 기본적으로 서비스 클래스를 호출하고 응답을 받고이를 표시합니다. 대부분의 구성 요소는 가난한 사람의 DI를 기반으로 한 인터페이스입니다. 앱이 커지고 있고, 더 나은 테스트 지원이 필요하며, IoC 컨테이너를 호출하기 시작했습니다.서비스 계층을 사용할 때 IoC 컨테이너를 구성하는 올바른 계층은 무엇입니까?
내가 읽은 모든 것 (예 : this SO question)은 응용 프로그램 루트에 IoC를 구성해야한다고 나와 있습니다. 내가 컨트롤러 작업에서 바로 리포지토리를 사용하고 컨트롤러 수준에서 DI가 필요한 경우 이는 나에게 의미가 있습니다. 내 서비스 계층에 내 컴포지션 루트가 필요한 것 같습니다. UI 레이어에서 내 web.config (또는 다른 설정)가 리포지토리, 신용 카드 프로세서 등에 대해 언급 /보고/청취하기를 원하지 않는다고 계속 생각합니다.
나는 올바른 방법에 대해 생각하고 있습니까? 아니면 그냥 그걸 극복해야합니까?