设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 软件追踪 查看内容

.NET 4.5.1比看上去更丰富

2013-7-10 14:08| 发布者: 红黑魂| 查看: 1376| 评论: 0|来自: infoq

摘要:   英文原文:.NET 4.5.1 Is Bigger Than It Appears  本周的 Build 大会上宣布了 .NET 4.5.1 的推出。看上去这次更新好像只是一次 bug fix,或者顶多包括一些很小的更新。不过 Habib Heydarian 在演讲中消除了这 ...

  英文原文:.NET 4.5.1 Is Bigger Than It Appears

  本周的 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 团队的正式声明


酷毙
1

雷人

鲜花

鸡蛋

漂亮

刚表态过的朋友 (1 人)

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部