BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

ASP.NET MVC 4 浮出水面

| 作者 Jonathan Allen 关注 595 他的粉丝 ,译者 王瑜珩 关注 0 他的粉丝 发布于 2012年2月24日. 估计阅读时间: 3 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

最近,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<ActionResult>”代替ActionResult作为返回值就可以了。当然底层的代码也需要支持异步调用,但基本上只需要做机械的代码转换,任何实习生或初级开发人员都可以处理。

异步Controller还支持cancellation token,Cancellation Token的实例由框架创建,开发人员只需在调用异步方法时,将之作为参数传递即可。这样整个调用栈都可以被取消,而不是简单的终止线程。

查看英文原文:ASP.NET MVC 4 is Live

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT