MVC 4 中有哪些新功能为什么要使用 MVC 4

该框架的第四个版本主要侧重于使移动 Web 应用程序开发更容易。

AP.NET MVC 4 中的新功能

  1. ASP.NET Web API

ASP.NET Web API 是一个框架,可以轻松构建可覆盖广泛客户端的 HTTP 服务,包括浏览器和移动设备。

HTTP 不仅仅用于提供网页。它也是构建公开服务和数据的 API 的强大平台。几乎任何你能想到的平台都有一个 HTTP 库,因此 HTTP 服务可以覆盖广泛的客户端,包括浏览器,移动设备和传统的桌面应用程序。

ASP.NET Web API 是在 .NET Framework 上构建 RESTful 应用程序的理想平台。

  1. 增强到默认项目模板

用于创建新的 ASP.NET MVC 4 项目的模板已更新为看起来更像现代的网站:

StackOverflow 文档

除了 UI 改进之外,该模板还采用了一种称为自适应渲染的技术,在桌面浏览器和移动浏览器中都没有任何自定义功能。

  1. 使用 jquery Mobile 的移动项目模板

ASP.NET MVC 4 还引入了新的 Moble Application 项目模板,以创建专门用于移动和平板电脑浏览器的网站。这是基于 jQuery Mobile,一个用于构建触摸优化 UI 的开源库。

https://i.stack.imgur.com/CnCP6.jpg

  1. 显示模式

新的显示模式功能允许应用程序根据发出请求的浏览器选择视图。例如,如果桌面浏览器请求主页,则应用程序可能会使用 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 移动功能

  1. 异步控制器的任务支持

结合 .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 以这种异步支持为基础,使用 awaitasync 关键字,这使得使用 Task 对象比以前的异步方法复杂得多。await 关键字是语法简写,用于指示一段代码应该异步等待其他一段代码。async 关键字表示可用于将方法标记为基于任务的异步方法的提示。

有关更多详细信息: 在 ASP.NET MVC 4 中使用异步方法

  1. 绑定和缩小。

绑定和缩小框架使你可以通过将单个文件组合到脚本和 CSS 的单个绑定文件中来减少 Web 页面需要进行的 HTTP 请求的数量。然后,它可以通过缩小绑定包的内容来减少这些请求的总体大小。缩小可以包括消除空格以缩短变量名称甚至根据其语义折叠 CSS 选择器等活动。Bundle 在代码中声明和配置,并且可以通过帮助器方法在视图中轻松引用,这些方法可以生成指向 bundle 的单个链接,或者在调试时生成指向 bundle 的各个内容的多个链接。

有关更多详细信息: 绑定和缩小

  1. 数据库迁移

ASP.NET MVC 4 项目现在包括实体框架 5.实体框架 5 中的一个重要功能是支持数据库迁移。通过此功能,你可以使用以代码为中心的迁移轻松地发展数据库模式,同时保留数据库中的数据。有关数据库迁移的更多信息,请参阅 ASP.NET MVC 简介中的向电影模型和表添加新字段教程。