asp.net-mvc-4MVC 4中有哪些新功能?为什么要使用MVC 4?
示例
该框架的第四个版本主要致力于简化移动Web应用程序的开发。
AP.NETMVC4中的新功能
ASP.NETWebAPI
ASP.NETWebAPI是一个框架,可以轻松地构建可访问范围广泛的客户端(包括浏览器和移动设备)的HTTP服务。
HTTP不仅用于提供网页。它也是构建用于公开服务和数据的API的强大平台。您可以想到的几乎所有平台都具有HTTP库,因此HTTP服务可以到达各种客户端,包括浏览器,移动设备和传统的桌面应用程序。
ASP.NETWebAPI是在.NETFramework上构建RESTful应用程序的理想平台。
增强默认项目模板
用于创建新的ASP.NETMVC4项目的模板已更新,看起来更现代:
除UI改进外,该模板还采用了称为自适应渲染的技术,无需进行任何自定义即可在台式机浏览器和移动浏览器中良好显示。
使用jqueryMobile的MobileProject模板
ASP.NETMVC4还引入了新的MobleApplication项目模板,以创建专门用于移动和平板电脑浏览器的网站。这基于jQueryMobile,它是一个用于构建触摸优化UI的开源库。
显示方式
新的“显示模式”功能使应用程序可以根据发出请求的浏览器选择视图。例如,如果桌面浏览器请求“主页”,则应用程序可能会使用Views\Home\Index.cshtml模板。如果移动浏览器请求主页,则应用程序可能会返回Views\Home\Index.mobile.cshtml模板。
如果要为其他设备创建更特定的视图,布局或局部视图,则可以注册一个新的DefaultDisplayMode实例,以指定当请求满足特定条件时要搜索的名称。例如,您可以将以下代码添加到文件中的Application_Start方法中,Global.asax以将字符串“iPhone”注册为在AppleiPhone浏览器发出请求时适用的显示模式:
DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("iPhone") { ContextCondition = (context => context.GetOverriddenUserAgent().IndexOf ("iPhone", StringComparison.OrdinalIgnoreCase) >= 0) });
有关更多详细信息:ASP.NETMVC4移动功能
异步控制器的任务支持
ASP.NET结合使用.NET4.5的MVC4Controller类,可以编写返回类型对象的异步操作方法 Task<ActionResult>。.NETFramework4引入了称为Task的异步编程概念,而ASP.NETMVC4支持Task。任务由System.Threading.Tasks命名空间中的Task类型和相关类型表示。.NETFramework4.5在此异步支持的基础上使用await和async关键字,使使用Task对象的工作比以前的异步方法要复杂得多。await关键字是语法上的简写,用于指示一段代码应异步等待另一段代码。该async关键字表示一个提示,您可以使用方法标记为基于任务的异步方法。
有关更多详细信息:在ASP.NETMVC4中使用异步方法
捆绑和缩小。
捆绑和缩小框架使您可以通过将单个文件合并为脚本和CSS的单个捆绑文件来减少Web页面需要发出的HTTP请求的数量。然后,它可以通过最小化捆绑包的内容来减少这些请求的整体大小。缩小可以包括消除空格之类的活动,以缩短变量名,甚至根据其语义折叠CSS选择器。捆绑包是用代码声明和配置的,并且可以通过帮助程序方法轻松地在视图中引用,该方法可以生成到捆绑包的单个链接,或者在调试时生成指向捆绑包各个内容的多个链接。
有关更多详细信息:捆绑和缩小
数据库迁移
ASP.NETMVC4项目现在包括EntityFramework5。EntityFramework5的一大功能是支持数据库迁移。通过此功能,您可以使用以代码为中心的迁移轻松地发展数据库架构,同时保留数据库中的数据。有关数据库迁移的更多信息,请参见ASP.NETMVC4简介教程中的向影片模型和表添加新字段。