深度解析 ASP.NET MVC 5 (内部培训讲义)

深度解析 ASP.NET MVC 5

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

  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

 

相关文章
相关标签/搜索