Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ASP.NET MVC 4 新特性简介

Avatar for Hu Hao Hu Hao
December 05, 2012

ASP.NET MVC 4 新特性简介

Avatar for Hu Hao

Hu Hao

December 05, 2012

More Decks by Hu Hao

Other Decks in Programming

Transcript

  1. q  拥抱开源   q  开放源代码   q  引⼊入开源技术   q 

    改进与优化   q  全新的项目模板   q  新的显示模式(Display  Modes)特性   q  配置逻辑移⼊入App_Start⽂文件夹   q  Controller可放⼊入MVC⼯工程下的任意⽂文件夹   q  支持对Javascript和CSS进⾏行绑定和压缩   q  新的JavaScript引用⽅方法   q  Azure  SDK支持   q  新技术,新动⼒力   q  ASP.NET  Web  API   q  异步控制器支持(Asynchronous  Controller)   q  Entity  Framework  5   q  展望未来 内容概览
  2. ASP.NET  MVC  4  官⽅方⽹网站   http://www.asp.net/mvc/mvc4     《Pro  ASP.NET

     MVC  4》                        《Professional  ASP.NET  MVC  4》   参考资料
  3. 在ASP.NET  MVC  4的项目模板中,微软引⼊入和使用了⼤大量流⾏行开源技术来代替或增强微软自身的实 现,这些技术包括:     v  用JQuery,  JQuery  Mobile及其相关扩展完全取代了微软自身的JavaScript库;

      v  引⼊入了Moderniz处理浏览器兼容性问题;   v  引⼊入了Knockout来实现富客户端应用;   v  引⼊入了Json.NET来增强Json数据处理;   v  引⼊入了DotNetOpenAuth来帮助开发⼈人员轻松实现基于OpenID和OAuth的用户登录功能;   v  普遍使用了NuGet包管理器来管理项目所使用的全部技术资源,即使是ASP.NET  MVC框架本身也 受其管理并能够得到及时的更新。   引⼊入开源技术
  4. 显示模式(特性)是⼀一种基于约定的用于区别处理传统浏览器和移动设备浏览器请求的解决⽅方案。     在ASP.NET  MVC  4中,视图引擎会监测HTTP请求所包含的User-­‐Agent信息:   v  当监测到该请求来自于传统浏览器时,视图引擎会默认选择使用后缀为.cshtml的视图⽂文件;  

    v  当监测到该请求来自于已知的移动设备浏览器时,视图引擎会选择使用与默认视图⽂文件同名但后缀 为.mobile.cshtml的视图⽂文件。     另外,显示模式还支持自定义扩展,比如在Global.asax⽂文件的Application_Start⽅方法中加⼊入如下代码,便可以 让视图引擎监测到来自iPhone⼿手机的浏览器请求时,返回后缀为.iPhone.cshtml的视图⽂文件:   DisplayModeProvider.Instance.Modes.Insert(0,  new  DefaultDisplayMode("iPhone")   {          ContextCondition  =  (context  =>  context.GetOverriddenUserAgent().IndexOf                  ("iPhone",  StringComparison.OrdinalIgnoreCase)  >=  0)   });   新的显示模式(Display  Modes)特性  
  5. 为了清理和精简Global.asax⽂文件的Application_Start⽅方法中的代码,ASP.NET  MVC  4现在将相关的配置逻辑使 用静态类进⾏行分类并将它们移⼊入了App_Start⽂文件夹,这些⽂文件包括:   v  AuthConfig.cs:用于配置安全设置,包括OAuth登录站点等。   v  BundleConfig.cs:用于注册绑定和压缩信息,⼀一般其中已经内置了默认的绑定信息,比如jQuery、jQueryUI、

    jQuery  validation、 Modernizr以及默认的CSS引用等。   v  FilterConfig.cs:用于注册MVC的过滤器(Filter)信息,⼀一般其中已经包括了默认的HandleErrorAttribute  过 滤器。   v  RouteConfig.cs:用于配置MVC路由信息。   v  WebApiConfig.cs:用于注册Web  API路由信息。   配置逻辑移⼊入App_Start⽂文件夹  
  6. ASP.NET  MVC  4  包含了ASP.NET  Web  API,这是⼀一个用于创建HTTP服务以便适用⼴广泛且流⾏行的移动设备访问的 新型框架,同时它也是构建REST服务的理想平台。Web  API包含以下特性:   v 

    更加符合潮流的HTTP编程模型;   v  对路由的全面支持;   v  内容协议;   v  模型绑定及验证;   v  过滤器;   v  查询操作;   v  对可测试性的该进; v  基于代码的配置; v  经过该进的对依赖注⼊入容器的支持;   ASP.NET  Web  API  (1/2)  
  7. v  自承载; v  可创建自定义帮助和测试页面; v  监视与诊断; v  资源地址⽣生成; v  Web

     API项目模板; v  脚⼿手架功能。     具体内容请参考:   http://www.asp.net/whitepapers/mvc4-­‐release-­‐notes#_Toc317096197     ASP.NET  Web  API  (2/2)  
  8. ASP.NET  MVC  4利用.NET  Freamwork  4.5对于异步编程的改进,通过异步Action能够操作Task和 Task<ActionResult>对象。     更多资料:  

    http://www.asp.net/mvc/tutorials/mvc-­‐4/using-­‐asynchronous-­‐methods-­‐in-­‐aspnet-­‐mvc-­‐4     异步控制器支持(Asynchronous  Controller)  
  9. v  SignalR     v  单页应用程序(SPA)模板和⼯工具包   v  Windows  Azure

     Active  Directory     v  Facebook应用   v  MVC  Mobile模板改进     具体内容请参考:   http://aspnetwebstack.codeplex.com/wikipage?title=Roadmap     ASP.NET  MVC  路线图