zoukankan      html  css  js  c++  java
  • 深度解析 ASP.NET MVC 5 (内部培训讲义)

    深度解析 ASP.NET MVC 5

    分享公司内部培训资料,如有错误,请批评指正。

    1. ASP.NET MVC基础
    2. IoC容器
    3. ASP.NET MVC可扩展性
    4. ASP.NET MVC Filters & Cache
    5. ASP.NET MVC AJAX
    6. ASP.NET MVC Client Validation
    7. 资源文件目录结构
    8. Model目录结构
    9. View目录结构
    10. View分解原则
    11. 关于Web.config

    1. ASP.NET MVC基础

    1.1. 一次请求的生命周期

    • 一次请求从客户端/浏览器开始,客户端将请求发送给IIS,IIS启动ASP.NET MVC对应的应用程序。
    • 在ASP.NET MVC内部,通过路由(Routing)开始匹配的路由规则。
    • 在执行Action之前,首先会执行 Action 对应的 Filter,如 [Authorize]
    • 然后执行 Action,这里便是执行我们的业务逻辑。
    • 如果有视图/页面,View Engine返回相应的HTML。
    • 在Action执行完成后,两样可以执行Filter来处理相应逻辑。

    1.2. Application 启动

    • MvcApplication继承自 HttpApplication 类,ASP.NET MVC启动后,首先执行的就是这个类。
    • 最先进入的是 Application_Start 方法,在这个方法里,可以初始化基本的应用/类库。
    • 另一种初始化方式如上图中的下方的代码截图,以特性的方式初始化应用/类库。

     1.3. Routing 两种形式

     

     在ASP.NET MVC 5中,定义Route有两种形式:

    • 在 Application_Start 中定义 Route, 如上图中上方截图。
    • 在 Controller/Action 中以 Attribute 方式直接定义 Route,如上图中下方截图。

     1.4. Filters (ActionFilterAttribute)

     

    • 前面我们提到过,在执行Action之前和之后,可以执行一些Filter处理一些事情,如 [Authorize],就是在执行 Action 之前,判断必须有账号登录。
    • 我们也可以自定义一些Filter来处理我们自己的事情,如角色权限判断,上图中左侧截图即是一个自定义的 Filter。

    1.5. Controller & Action

    • Controller是所有Controller的基类,所有Controller必须继承自Controller类。
    • Controller类可以使用 Filter,表示此类下的所有Action都应用这个 Fitler。
    • Action可以应用 GET, POST, PUT 和 DELETE 等方法。
    • Action返回的结果可以是 View, PartialView, Redirect, Json, JavaScript, Content 和 File 等类型。

    1.6. View / View Engine

    • View Engine可以被重写和定义,这里使用的 Razor View Engine。
    • 使用 View() 和 PartialView() 返回视图/HTML。
    • 查找视图时,如果未指定路径,默认查找无则是 Views/{controller name}/{action name}.cshtml,如果没有则查找 Views/Shared/{action name}.cshtml。
    • Shared/_Layout.cshtml是View的默认框架模板,也可以View中单独指定。

    2. IoC容器

    2.1. 什么是IoC容器?

    2.2. Unity

    3. ASP.NET MVC可扩展性

    3.1. Controller 扩展性

     3.2. Model 扩展性

    3.3. View Engine

    4. ASP.NET MVC Filters & Cache

     

    5. ASP.NET MVC AJAX

     6. ASP.NET MVC Client Validation

    7. 资源文件目录结构

    8. Model目录结构

    9. View目录结构

    10. View分解原则

    11. 关于Web.config

     

  • 相关阅读:
    【html】http状态
    【Angular】Angular基础(3)
    【Angular】Angular基础(2)
    【Angular】Angular基础(1)
    【javascript】正则表达式match、exec和test的使用
    【javascript】js实现容器Map
    【JQuery】JQuery动态查找元素
    【leetCode】4. Median of Two Sorted Arrays
    【Java】Collection,set,List,Map介绍(附实例)
    【java】String类的基本方法
  • 原文地址:https://www.cnblogs.com/xuemingfeng/p/6611511.html
Copyright © 2011-2022 走看看