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

2022-10-15,,,,

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

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

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

4、invokeactionmethodwithfilters方法返回actionexecutedcontext

5、然后再执行invokeactionresultwithfilters

6、invokeactionresultwithfilters里在调用this.invokeactionresultfilterrecursive

 7、invokeactionresult里最终会调用executeresult

 

《4、看源码MVC Controller如何调用Action.doc》

下载本文的Word格式文档,以方便收藏与打印。