我已经继承了一些代码,其中MVC Controller类都得到了Castle ... DefaultProxyFactory.Create()调用它们的构造函数(调用堆栈退出到<external code>
,这是没帮忙。)
所以,基本上,我怎样才能找到Castle被告知如何调用控制器的构造函数?
我是Castle,Windsor和MicroKernel等的新手,而不是ASP的MVC大师。
非常感谢任何指示 - 抱歉模糊不清,
马特。
答案 0 :(得分:1)
This article详细解释了ASP.NET MVC控制器的生命周期,包括何时调用ControllerFactory以及如何连接IoC容器。 StructureMap用于这篇特定文章,但任何IoC容器都可以代替它使用。
在你的ControllerFactory中,Windsor选择并实例化实际的控制器,如Krzysztof评论文章所述:
如果在堆栈跟踪中看到对DefaultProxyFactory.Create(...)
的引用,则表示正在创建代理。 Windsor的默认代理工厂是DynamicProxy。您可以在Krzysztof's tutorial中了解相关信息。