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