zoukankan      html  css  js  c++  java
  • 庖丁解ASP.NET MVC内部运行流程

    跟大家分享两张ASP.MVC的内部运行流程图,作者都是Steve Sanderson,上面这张是07年MVC还未正式发布之前做成的流程图,虽然较老但是放到今天大部分仍然基本适用(注意:图中有些部分已经过期但是因为比较详细全面,也贴上来了)。下面那张是09年的,贴上来的理由是图中详细的表出MVC框架里哪些部分是可以被拓展(extend)的, 比如说你可以用Cusotom route handler, Custom Handler 等等。

      基本上讲,一个MVC项目启动时,包括下面5个步骤:

      1. 启动:一个MVC的项目启动的时候,首先从Global.asax.cs里面的Application_Start()开始。在Application_Start()里面定义routes, IoC container, ModelBinder, 等等需要在启动时配置好的部分;

      2. 路径(routes):MvcHandler处理所有的请求 e.g. http://example.com/home/index,在这个环节的最后一步IHttpHandler的ProcessRequest方法被调用;

      3. 生成controller: 在调用ProcessRequest方式时,DefaultControllerFactory按照进来的请求生成controller对象,e.g. HomeController. 之后controller对象调用Execute()方法;

      4. 找到并调用controller action:controller在调用Execute()方法时,依靠ControllerActionInvoker找到相应的action,并调用该action, e.g. 调用HomeController里面的index()方法;

      5. 生成界面(render view): 最后controller返回ActionResult,由View Engine生成界面;

  • 相关阅读:
    1234D.Distinct Characters Queries(树状数组)
    1217C.The Number of Good Substrings(思维)
    1217B.Zmei Gorynich(思维)
    1213D2.Equalizing by Division(hard version)(图论)
    CentOS7.5搭建Hadoop2.7.6完全分布式集群
    CentOS7.5搭建spark2.3.1集群
    CentOS7.5搭建Hive2.3.3
    【Java入门】JDK安装和环境变量配置(Win7版)
    python第三方库大全
    Python常用模块大全
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/1881406.html
Copyright © 2011-2022 走看看