2010-05-11 12 views
0

나는 MVC 컨트롤러 클래스의 모든 생성자를 캐슬 .... DefaultProxyFactory.Create() 어딘가에 라인 (전화 스택은 도움이되지 않습니다 <external code>에 떨어지면 전화를 몇 가지 코드를 상속했습니다.)막연한 MVC와 성 윈저 질문. 죄송합니다

기본적으로 Castle이 내 컨트롤러의 생성자를 호출하는 방법에 대한 정보를 얻는 방법을 찾는 방법은 무엇입니까?

저는 Castle, Windsor 및 MicroKernel 등에 매우 익숙하며 ASP의 MVC 마스터는 아닙니다. 어떤 포인터에 대한

많은 감사 - 모호성에 대한 죄송합니다,

마.

+0

당신은 ASP.NET MVC를 의미합니까? ControllerFactory를 확인하십시오. Windsor가 생성되는 방법과 생성자가 선택되는 방법에 대한 자세한 내용은 http://stw.castleproject.org/Windsor.How-components-are-created.ashx http : //stw.castleproject 링크를 참조하십시오. org/Windsor.How-constructor-is-selected.ashx? HL = 생성자 –

+0

특히 문제가 있거나 예외가 있습니까? 아니면 Windsor/MVC가 어떻게 작동하는지 알고 싶습니까? –

+0

나는 실제 예외가 없지만 이해하기 위해서는 상당히 큰 해결책이 있으며 DI, IoC, Windsor, NHibernate 등이 많이 포함되어 있으며 코드를 해결/변경하기 전에 아키텍처를 이해해야한다고 생각합니다. 지금. –

답변

1

This article은 ControllerFactory가 호출 된시기와 IoC 컨테이너를 연결하는 방법을 포함하여 ASP.NET MVC 컨트롤러의 수명주기를 자세히 설명합니다. 이 특정 기사에서는 StructureMap이 사용되지만 모든 IoC 컨테이너를 대신 사용할 수 있습니다. 당신의 ControllerFactory에서

는 윈저 집어 르지는 논평 기사에서 설명한 바와 같이 실제 컨트롤러를 인스턴스화

당신이 DefaultProxyFactory.Create(...)에 대한 참조를 볼 경우 스택 추적은 프록시가 생성되고 있음을 의미합니다. Windsor의 기본 프록시 팩토리는 DynamicProxy입니다. Krzysztof's tutorial에서 알아볼 수 있습니다.