欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

4、看源码MVC Controller如何调用Action

程序员文章站 2022-09-27 17:13:23
Controller继承ControllrBase,ControllerBase继承IController,而IController里只有一个Execute方法 1、ControllrBase里的Execute(),里面调用了ExecuteCore(),而ExecuteCore()是个抽象方法,抽象 ......

controller继承controllrbase,controllerbase继承icontroller,而icontroller里只有一个execute方法
1、controllrbase里的execute(),里面调用了executecore(),而executecore()是个抽象方法,抽象方法是在子类controller里实现的

4、看源码MVC Controller如何调用Action

 2、抽象方法executecore()是在子类controller里实现的,而调用action是this.actioninvoker.invokeaction

4、看源码MVC Controller如何调用Action

3、controlleractioninvoker里的invokeaction,而invokeaction方法里的invokeactionmethodwithfilters才是真正调用方法的

4、看源码MVC Controller如何调用Action

4、invokeactionmethodwithfilters方法返回actionexecutedcontext

4、看源码MVC Controller如何调用Action

5、然后再执行invokeactionresultwithfilters

4、看源码MVC Controller如何调用Action

6、invokeactionresultwithfilters里在调用this.invokeactionresultfilterrecursive

4、看源码MVC Controller如何调用Action

4、看源码MVC Controller如何调用Action

 7、invokeactionresult里最终会调用executeresult

4、看源码MVC Controller如何调用Action