一、把路由添加到路由表,

二、注册ControllerBuilder(老板)和默认工厂(DefaultControllerFactory)

2.1默认工厂获取可以创建的Controller。

三、由于配置文件中含有IHttpModule的配置,所以会在HttpApplication的指定事件发生时执行注册的委托。

3.1路由数据根据HttpContext来获取RouteData,

3.2根据RouteData和HttpContext封装成RequestContext

3.3使用HttpContextWrapper的RemapHandler方法来为请求指定处理程序

3.4在实现了IHandler类中ProcessRequest方法获得Context的Controller的名称,初始化Controller,然后执行ControllerBase的Execute方法,在初始化Controller时,初始化一个ModelBinder,用来实现Model的绑定。这样就进入了Controller中

四、进入Controller之后,执行Execute方法

五、在Controller执行Execute方法,ActionInvoke方法执行指定的Action,执行Action时可以根据其参数和3.4得到的ModelBinder来实现Model的绑定。

六、执行Action的ExecuteResult方法,获得Result。

最新文章

  1. Java POI 解析word文档
  2. VisualSVN Server搭建VDFS分布式仓研究(未成功)
  3. 处理SVN的提交代码冲突
  4. C语言关键字
  5. ajax 访问--提高安全性
  6. 在Mac OS X中使用VIM开发STM32(4)
  7. 定义不同版本的jQuery
  8. 一天一个类,一点也不累 之 LinkedList
  9. windows下eclipse跑junit报错:CreateProcess error=206
  10. poj 1274The Perfect Stall
  11. .Net多线程编程—同步机制
  12. Windows Server AppFabric分布式缓存研究
  13. 重磅消息-Service Fabric 正式开源
  14. Leetcode_83_Remove Duplicates from Sorted List
  15. cache 缓存的处理
  16. 以time.py为文件名时,调用time包
  17. Spring Cloud Stream消费失败后的处理策略(四):重新入队(RabbitMQ)
  18. 【XSY2707】snow 线段树 并查集
  19. C hashtable小例子
  20. ios dispatch_async使用

热门文章

  1. 不安装Oracle客户端使用PLSQL
  2. String封装——读时共享,写时复制
  3. NET程序内存分析工具CLRProfiler的使用(性能测试)
  4. 图解SSL/TLS协议(HTTPS的安全层)
  5. How do I get ASP.NET Web API to return JSON instead of XML using Chrome
  6. 文件上传(js, C#)
  7. sharepoint的导航开发
  8. Debian上安装Apache+Django全过程
  9. struts2 插件使用
  10. jquery UI 弹出框