最近,ASP.NET MVC 4 的第一个 beta 版发布了,并且还含有“可以上线”的许可。这意味着即使最终正式版本还没有完成,但微软相信 ASP.NET MVC 4 目前已经可以在生产环境中使用了。这次的发布包含了对 Razon 视图引擎的改进、对异步调用的支持,以及 WebSockets 等功能。
Razor 视图引擎
作为 ASP.NET MVC 的默认视图引擎,Razor 中增加了一些新的特性,以减少视图模版的代码量。以~/ 开头的 HTML 属性会被自动解析为应用程序的根路径,而不再需要使用 Url.Content。另一个提升效率的特性是可空属性(conditional attribute),例如当 class="@myClass"中的 myClass 为 null 时,这个属性将不会被渲染到页面上。
注意:这些新增的特性也会出现在 ASP.NET Web Pages 2 中。
CSS 与 JavaScript 管理
MVC 4 鼓励开发人员合并和压缩(CSS 与 JavaScript)以缩短传输时间。开发人员不用详细列出每一个客户端需要的文件,只需要使用 ResolveBundleUrl 函数就可以将某个文件夹中的所有文件包括在内。 Jon Galloway 指出,这对于更新某些程序库—如 jQuery—特别有用。
移动开发
jQuery Mobile 将会被包含在标准移动模版中。这些模版被用于创建一组视图,而这些视图则被 Display Modes (译者注:根据用户所使用的设备,如桌面系统或移动设备,选择不同的视图文件进行渲染)子系统所使用。除了默认模式和移动模式,可发人员还可以根据需要添加其他模式。一般系统会根据浏览器发送的 user agent 来决定使用那种模式,但理论上你可以获得更大的灵活性。
Controller 中的异步任务处理
在 MVC 4 和 C# 5 中使用异步模型非常简单,难以想象还会有人继续用阻塞的方式编写 Controller 中的方法。你只需要使用“async Task
异步Controller 还支持cancellation token,Cancellation Token 的实例由框架创建,开发人员只需在调用异步方法时,将之作为参数传递即可。这样整个调用栈都可以被取消,而不是简单的终止线程。
查看英文原文: ASP.NET MVC 4 is Live ****
评论