zoukankan      html  css  js  c++  java
  • MVC执行过程

    HttpRuntime中的PR方法
    1,封装HttpContext
    2,获取HttpApplication 主要做3件事
    a,执行本事件时主要调用Init将Global编译得到类型,
    b,确保Appstart被调用,在mvc中主要是注册路由规则,
    c,获取Application 对象完成内部模块的初始化UrlRoutingModule向第七个事件注册了处理程序
    3,执行管道事件
    这里执行19个事件:
    到第7,8个事件之间时干一件事
    获取处理器对象 就是MvcRouteHandler
    MVC在asp.net中的执行过程
    HomeController:Controller:ControllerBase
    中的Execute=》ExecuteCore方法那么到底是哪个类在执行这个方法呢
    HomeController吧 应该是因为是通过反射的方法生成的IController类来执行Execute方法。


    到11,12时干一件事
    调用处理器的PR方法


    到第19件事结束
    下面是请求管道中的19个事件.

    (1)BeginRequest: 开始处理请求

    (2)AuthenticateRequest授权验证请求,获取用户授权信息

    (3):PostAuthenticateRequest获取成功

    (4): AunthorizeRequest 授权,一般来检查用户是否获得权限

    (5):PostAuthorizeRequest:获得授权

    (6):ResolveRequestCache:获取页面缓存结果

    (7):PostResolveRequestCache 已获取缓存 当前请求映射到MvcHandler(pr): 创建控制器工厂 ,创建控制器,调用action执行,view→response

    //action Handler : PR()

    (8):PostMapRequestHandler 创建页面对象:创建 最终处理当前http请求的 Handler 实例: 第一从HttpContext中获取当前的PR Handler ,Create

    (9):PostAcquireRequestState 获取Session

    (10)PostAcquireRequestState 获得Session

    (11)PreRequestHandlerExecute:准备执行页面对象
    执行页面对象的ProcessRequest方法

    (12)PostRequestHandlerExecute 执行完页面对象了

    (13)ReleaseRequestState 释放请求状态

    (14)PostReleaseRequestState 已释放请求状态

    (15)UpdateRequestCache 更新缓存

    (16)PostUpdateRequestCache 已更新缓存

    (17)LogRequest 日志记录

    (18)PostLogRequest 已完成日志

    (19)EndRequest 完成、

  • 相关阅读:
    第十二章学习笔记
    UVa OJ 107 The Cat in the Hat (戴帽子的猫)
    UVa OJ 123 Searching Quickly (快速查找)
    UVa OJ 119 Greedy Gift Givers (贪婪的送礼者)
    UVa OJ 113 Power of Cryptography (密文的乘方)
    UVa OJ 112 Tree Summing (树的求和)
    UVa OJ 641 Do the Untwist (解密工作)
    UVa OJ 105 The Skyline Problem (地平线问题)
    UVa OJ 100 The 3n + 1 problem (3n + 1问题)
    UVa OJ 121 Pipe Fitters (装管子)
  • 原文地址:https://www.cnblogs.com/haofaner/p/5892581.html
Copyright © 2011-2022 走看看