写点什么

.NET 4.5.1 比看上去更丰富

  • 2013-07-09
  • 本文字数:1605 字

    阅读完需:约 5 分钟

本周的 Build 大会上宣布了.NET 4.5.1 的推出。看上去这次更新好像只是一次 bug fix,或者顶多包括一些很小的更新。不过 Habib Heydarian 在演讲中消除了这种错误的观念。Heydarian 的这个演讲题为“.NET 开发中的新内容”,涵盖了.NET Framework 中一些重要的新特性。

Heydarian 的演讲主要围绕着三个方面展开:开发者生产力、应用程序的性能及持续创新。首先是开发者生产力,Heydarian 宣布了某个很常用.NET 特性的后续进展,那就是“修改并继续执行”。他在提到了32 位机器上的该功能在2005 年就已发布,随后高兴地宣布64 位机器上的相同功能将成为.NET 4.5.1 的一部分。这一功能和32 位版本是完全相同的。

随后,Heydarian 宣布了检测方法返回值的新功能,它可以在Visual Studio 的Autos 窗口或Immediate 窗口中使用。可以在调试器中展开返回值以便查看当前的值。对于Windows Store、Web App 和Windows 8.1 桌面App 而言,由于对Call Stack(调用栈)和Tasks 窗口的使用性进行了改进,使得调试异步代码更加容易了。

这还不是Windows Store App 的唯一改进,另一项改进是开发者可以将System.IO.Stream 转换为IRandomAccessStream 了。另外,通过引入可空值类型,WinRT 的类型系统也得到了增强,并且对异常提供了更好的支持(例如:System.Exception.Message,System.Exception.StackTrace)。这些System.Exception 的新属性是在基于Windows 8 的经验上进行的改进,在这之前只有在附加的进程上的调试器中才能避免丢失这些信息。

EF 和 ADO.NET 现在对连接失败的情况容错性更好了。在之前,断开网络连接会导致一个异常的产生,而在 4.5.1 中则能够优雅地应对这种失败情况,一旦网络连接得以恢复,应用程序就会监测到它,并继续之前的工作。

ASP.NET 应用现在可以自动挂起了。实际运行的 ASP.NET 工作进程(worker process)将被挂起为可随时唤醒的状态,这能够节省 90% 的启动时间。当应用程序处于空闲状态一段时间后,它将会被分页到磁盘,一旦某个请求到来或是完成,它将被唤醒。可以在 IIS 配置中将 Time-out Action 这一项设置为“挂起”以实现这一功能。

在.NET 4.5.1 的底层,你现在可以压缩大对象堆(LOH)以应对堆碎片问题。 LOH 模式是 GCSettings 的一部分,但 Heydarian 提醒大家:“能力越大,责任越大”,在一般的开发过程中绝不要使用这项功能。

多核的即时编译(JIT)性能也有所改进,按 Heydarian 的说法,在冷启动的状态下能达到 15% 的性能提升。

另一项在.NET 4.5.1 中得到改进的部分是有关 framework 升级后系统的表现。目前,运行更新后的.NET Framework 会使应用程序性能在短时间有一定程度的下降。这是因为核心的.NET 程序集在更新或补丁需要一段时间进行 JIT 编译。在 Windows 8.1 中,即使运行(更新后的).NET Framework,应用的性能也能保持稳定。这使用户体验大为提高,也符合微软的努力方向,即尽可能提升平板电脑的续航能力。

Heydarian 宣称他的团队的一个目标是尽可能做完所有的脏活累活,而让.NET 开发者能直接从中受益。另外,他希望只要可能,.NET 平台的所有改进都能使开发者直接受益,而把重新编译的时间(如果需要的话)减至最小,为了达到更好的性能。

最后要说的是,微软创建了一个新的 NuGet feed,为官方的微软 .NET 包(package)提供稳定而实时的更新,可以应用于Visual Studio 2010、2012 及2013。这个feed 在VS2013 中直接支持,而VS2010 和2012 的用户可以手动添加这个URL 以获取feed: https://nuget.org/api/v2/curated-feeds/dotnetframework/

关于.NET 4.5.1 预览版的更多细节,请参考.NET 团队的正式声明

查看英文原文: http://www.infoq.com/news/2013/06/net451_preview


感谢杨赛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-07-09 12:294431
用户头像

发布了 428 篇内容, 共 180.3 次阅读, 收获喜欢 39 次。

关注

评论

发布
暂无评论
发现更多内容

Github 秋招爆火!这套面试笔记足够你拿下 90% 以上的 Java 面试!

退休的汤姆

Java、 面经 社招 Java工程师 秋招

仿淘宝大流量高并发电商领域核心项目已上线(完整流程+白皮书)

小柴说Java

Java 编程 程序员 架构 面试

计算机网络(六、应用层)

计算机网络 8月月更

冲刺金九银十!GitHub中文社区秋招趋势最热的面试题被我整理好了

Java面试那些事儿

Java 编程 程序员 架构 面试

架构师知识的可迁移性:目标,元素,连接

田晓亮

架构

连续仨月霸占牛客榜首!京东T8呕心巨作:700页JVM虚拟机实战手册

小柴说Java

Java 编程 程序员 架构 面试

这份500页的最全Java性能调优笔记,或将是你的offer收割机

了不起的程序猿

Java JAVA开发 java程序员 性能调优

秋招腾讯!配套初级程序员到Java高级架构师学习路线+配套学习资源

退休的汤姆

Java、 面经 社招 Java工程师 秋招

RabbitMQ面试29连问,看完还过不了面试,我给你一Jio

小柴说Java

Java 编程 程序员 架构 面试

惊爆GitHub!腾讯T14级SQL首席专家开源分布式数据库架构实践手册

小柴说Java

Java 编程 程序员 架构 面试

秋招最牛的Java面试八股文合集,让我见识到了基础的天花板

退休的汤姆

Java、 面经 社招 Java工程师 秋招

Spring Security OAuth2客户端凭据授权

程序知音

Java 程序员 springboot 后端技术

袭卷面试大厂!秋招最全Java面试八股文,堪称大厂offer收割机!

退休的汤姆

Java、 面经 社招 Java工程师 秋招

从 Kubernetes 事件中提取价值

玄月九

Kubernetes k8s Event 价值 事件

秋招偷偷盘点一下各大互联网公司的实习薪资

退休的汤姆

面经 大厂面试 社招 Java工程师 秋招

无意中发现阿里巴巴Java开发手册「2022最新黄山版」竟然发布了

Java面试那些事儿

Java 编程 程序员 架构 面试

外包干了四年,感觉人生就这样了..

退休的汤姆

Java 面经 社招 Java工程师 秋招

基于小程序的小区物业管理平台开发笔记

CC同学

计算机网络(五、运输层)

计算机网络 8月月更

首次公开!阿里巴巴最新高并发架构设计实录被我从Github扒下来了

程序员小毕

Java 程序员 架构 面试 高并发

你必须知道的Java泛型

自然

Java core 8月月更

秋招!2022备战金九银十Java面试八股文合集 高薪的敲门砖

退休的汤姆

Java、 面经 社招 Java工程师 秋招

今天才晓得跟月薪5W的聊过后,才知道自己一直在打杂...

退休的汤姆

Java 面经 社招 Java工程师 秋招

校招失败,在小公司熬了 2 年后我终于进了阿里,竭尽全力(Java 岗)

退休的汤姆

面经 社招 面试技巧 Java工程师 秋招

双非本科参加了数场面试,并从美团三面中总结出Java面试真题手册

Java面试那些事儿

Java 编程 程序员 架构 面试

用户权限-Linux系统基本权限

Albert Edison

Linux centos 运维 用户权限 8月月更

什么是架构思维?

涛哥 数字产品和业务架构

企业架构

程序员面试太卷?我选择背这份阿里最新Java面试八股文(详解版)

小柴说Java

Java 编程 程序员 架构 面试

他97年的,我既然卷不过他...

退休的汤姆

Java 外包 面经 Java工程师 秋招

我凭借这份pdf成功拿到了蚂蚁,京东,小米,腾讯等大厂的offer

小柴说Java

Java 编程 程序员 架构 面试

信用卡业务数字化专题研究2022H1

易观分析

金融 信用卡

.NET 4.5.1比看上去更丰富_语言 & 开发_Jeff Martin_InfoQ精选文章