zoukankan      html  css  js  c++  java
  • C#  MVC简单学习总结

    下面分层次的总结Controller 处理流程:
    1. 页面处理流程
    发送请求 –> UrlRoutingModule捕获请求 –> MvcRouteHandler.GetHttpHandler() –>

    MvcHandler.ProcessRequest()

    2.MvcHandler.ProcessRequest() 处理流程:
    使用工厂方法获取具体的Controller –> Controller.Execute() –> 释放Controller对象

    3.Controller.Execute() 处理流程
    获取Action –> 调用Action方法获取返回的ActionResult –> 调用ActionResult.ExecuteResult() 方法

    4.ActionResult.ExecuteResult() 处理流程
    获取IView对象-> 根据IView对象中的页面路径获取Page类-> 调用IView.RenderView() 方法(内部调用

    Page.RenderView方法)

    通过对MVC源代码的分析,我们了解到Controller对象的职责是传递数据,获取View对象(实现了IView接口的

    类),通知View对象显示.

    View对象的作用是显示.虽然显示的方法RenderView()是由Controller调用的,但是Controller仅仅是一个"

    指挥官"的作用, 具体的显示逻辑仍然在View对象中.

    需要注意IView接口与具体的ViewPage之间的联系.在Controller和View之间还存在着IView对象.对于

    ASP.NET程序提供了WebFormView对象实现了IView接口.WebFormView负责根据虚拟目录获取具体的Page类,然

    后调用Page.RenderView().

    类名 抽象类 父类 功能
    ContentResult     根据内容的类型和编码,数据内容.
    EmptyResult     空方法.
    FileResult  abstract   写入文件内容,具体的写入方式在派生类中.
    FileContentResult   FileResult  通过 文件byte[] 写入文件.
    FilePathResult   FileResult  通过 文件路径 写入文件.
    FileStreamResult   FileResult  通过 文件Stream 写入文件.
    HttpUnauthorizedResult     抛出401错误
    JavaScriptResult      返回javascript文件
    JsonResult      返回Json格式的数据
    RedirectResult      使用Response.Redirect重定向页面
    RedirectToRouteResult      根据Route规则重定向页面
    ViewResultBase  abstract   调用IView.Render()
    PartialViewResult    ViewResultBase  调用父类ViewResultBase 的ExecuteResult方法.
    重写了父类的FindView方法.
    寻找用户控件.ascx文件
    ViewResult    ViewResultBase  调用父类ViewResultBase 的ExecuteResult方法.
    重写了父类的FindView方法.
    寻找页面.aspx文件


    Filter的具体生存周期
    这是官方站的一数据.

    来自controller虚方法 的OnActionExecuting .

    应用于当前Controller的Filter中的OnActionExecuting:

    先执行基类的,后执派生类的
    执行应用于Action的Filter的OnActionExecuting顺序:

    先执行基类的,后执派生类的


    Action 方法


    应用于Action的Filter的OnActionExecuted 的执行顺序


    先执行派生类的,后执行基类的
    应用于当前Controller的Filter中的OnActionExecuted方法

    先执行派生类的,后执行基类的
    Controller中的虚方法 OnActionExecuted


    介绍
    System.Web.Routing - 此命名空间提供用于 URL 路由的类,通过该类可以使用不映射到物理文件的 URL

    IRouteHandler - 路由处理程序接口,自定义的路由处理程序都要实现这个接口
    RequestContext - 封装所请求的路由的相关信息和当前的 http 上下文信息
    RouteData - 所请求的路由的相关信息
    RouteCollection - 路由集合
    RouteValueDictionary - 不区分大小写的 key/value 字典表
    Route - 路由的相关信息


     

  • 相关阅读:
    glib 库 hash table 使用
    git 使用
    centos6.5 下安装 sqlplus
    Oracle tns 协议
    unix环境高级编程附录 B 通用代码
    centos6.5安装gtk开发环境
    linux 下定位程序假死
    Kotlin与Android SDK 集成(KAD 05)
    Kotlin的android扩展:对findViewById说再见(KAD 04)
    Kotlin类:功能更强、而更简洁(KAD 03)
  • 原文地址:https://www.cnblogs.com/30763402/p/1810173.html
Copyright © 2011-2022 走看看