Controller繼承ControllrBase,ControllerBase繼承IController,而IController裏只有一個Execute方法
一、ControllrBase裏的Execute(),裏面調用了ExecuteCore(),而ExecuteCore()是個抽象方法,抽象方法是在子類Controller裏實現的
this
二、抽象方法ExecuteCore()是在子類Controller裏實現的,而調用Action是this.ActionInvoker.InvokeActionspa
三、ControllerActionInvoker裏的InvokeAction,而InvokeAction方法裏的InvokeActionMethodWithFilters纔是真正調用方法的blog
四、InvokeActionMethodWithFilters方法返回ActionExecutedContext繼承
五、而後再執行InvokeActionResultWithFiltersit
六、InvokeActionResultWithFilters裏在調用this.InvokeActionResultFilterRecursiveio
七、InvokeActionResult裏最終會調用ExecuteResultbfc