MVC 컨트롤러에 대한 Contructor 삽입 된 paraeters를 확인하는 데 사용되는 단일 컨테이너의 참조를 가져올 수 있습니까?MVC 컨트롤러 액션에서 Unity 컨테이너 참조 가져 오기
우리는 클래스를 사용하기 때문에 현재 사용되는 컨테이너에 대한 참조가 필요합니다.
MvcApplication
클래스의 Application_Start()
처리기 중에 등록 된 참조를 MvcApplication 클래스의 속성에 저장하여 저장하려고하지만 나중에 컨트롤러에서 액세스하려고하면 null입니다.
컨테이너는과 같이 등록 :
DependencyResolver.SetResolver(new UnityDependencyResolver(CurrentUnityContainer));
이 CurrentUnityContainer
이
그런 다음 MvcApplication 클래스의 비 정적 속성이 있음을 제공, 컨트롤러에서 우리는 현재 MvcApplication에 액세스하여 그것을 얻으려고 예 :
MvcApplication.Instance.CurrentUnityContainer
컨테이너가 컨트롤러에서 null이거나 다른 방식으로 가져 오는 이유는 무엇입니까?
죄송합니다. 컨테이너 (IUnityContainer)가 필요하거나 상당히 많은 레거시 코드를 리팩토링해야합니다. –
당신은 캐스트하려고 :'var currentUnityContainer = System.Web.Mvc.DependencyResolver.Current UnityDependencyResolver;'? –