zoukankan      html  css  js  c++  java
  • 迷你版mvc框架执行过程

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

    二、注册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。

    源码

  • 相关阅读:
    SQLi-Labs
    ASP.NET 简介
    CSS
    Apache 基本配置
    【Windows 基础】 01
    sqli1-4
    SQL注入介绍(本文更新中)
    【DC-1】靶机实战
    常见端口的漏洞总结
    element ui table动态控制某列展示与否,并且该列使用了fixed,导致列表错位问题
  • 原文地址:https://www.cnblogs.com/lzhp/p/3788845.html
Copyright © 2011-2022 走看看