DefaultControllerFactory
包含三种不同的方法:
GetControllerInstance
CreateController
GetControllerType
请求生命周期中每个方法何时执行?我见过自定义控制器工厂,其中一个方法被覆盖并实现,但我似乎无法找到每个方法的执行路径的详细信息。
答案 0 :(得分:2)
CreateController
被召唤
它首先调用GetControllerType
来确定控制器的类型,然后将此类型传递给GetControllerInstance
。
因为(仅)覆盖GetControllerInstance
更容易(并且经常足够)(因此选择类型的逻辑保持不变),您经常会看到这种情况发生。
答案 1 :(得分:1)
更新MVC3,按此顺序调用方法。
首先调用 GetControllerType
并调用两次。
GetControllerType
GetControllerSessionBehavior
CreateController
GetControllerType
CreateControllerInstance
ReleaseController