写点什么

.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:294648
用户头像

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

关注

评论

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

作为超级自动化的重要先驱,流程挖掘正在成为组织运营标配

王吉伟频道

人工智能 RPA 超自动化 流程挖掘 业务流程

参与共建 SolidUI AI 生成可视化项目:开源社区的力量

李孟聊AI

开源 2D 3D AIGC ChatGPT

Kubernetes——构建平台工程的利器

SEAL安全

Kubernetes 平台工程

70+页实战经验分享,《研发效能红宝书》重磅发布 | 附下载

思码逸研发效能

研发效能

Apache Doris 1.2.5 版本正式发布

SelectDB

Sentinel 机制解决 Redis 缓存雪崩问题:限流、降级与熔断策略实践

xfgg

redis sentinel 6 月 优质更文活动

基于OpenHarmony开发的玻璃拟态天气应用(1)项目介绍及项目的初始搭建

路北路陈

前端 HarmonyOS OpenHarmony应用开发 6 月 优质更文活动

【TypeScript】TS自定义类型之对象属性必选、对象属性可选

不叫猫先生

typescript 6 月 优质更文活动

Flink 流批一体在 Shopee 的大规模实践

Apache Flink

大数据 flink 实时计算

k8s中PV和PVC的生命周期

穿过生命散发芬芳

6 月 优质更文活动

C语言编程—中缀表达式转换为后缀表达式

芯动大师

C语言 中缀 6 月 优质更文活动

Nest 实现 OSS 签名直传上传回调

昆吾kw

OSS Node 后端开发 文件上传 nestjs

社交泛娱乐全球化,看融云出海如何助力玩法创新催生长线黑马?

融云 RongCloud

音视频 融云 泛娱乐 出海 通讯

4 个月、2 万颗星,1 个恒纪元

Zilliz

非结构化数据 Milvus 大模型时代 向量数据库 zillizcloud

AI “机里机气”的虚构内容,令人愤慨

B Impact

设计模式之工厂模式

越长大越悲伤

设计模式 工厂模式

基于STM32的无人售货机系统设计

DS小龙哥

6 月 优质更文活动

合约交易所系统开发搭建流程

薇電13242772558

系统开发

创新涌动于先丨2023 PingCAP 用户峰会等你来!

PingCAP

数据库 TiDB pingCAP 平凯星辰 用户峰会

目前只To B,腾讯云为什么优先发布行业大模型,而非大模型?

B Impact

SolidUI 上Gitee AI-人工智能热门

李孟聊AI

开源 2D 3D AIGC ChatGPT

九科信息亮相第三届中国(深圳)天使投资峰会

九科Ninetech

Google Guava中 EventBus 导致线程阻塞

红袖添香

Java 多线程 EventBus

JMeter笔记12 | JMeter集合点

测试 单元测试 Jmeter 性能测试 接口测试

数字非洲,沐光而行

脑极体

出海

2023-06-19:讲一讲Redis分布式锁的实现?

福大大架构师每日一题

redis 福大大架构师每日一题

6月14日红杉最新报告:The New Language Model Stack

B Impact

ChatGPT 不只是聊天机器人,更是……

baiyutang

创业 openai ChatGPT

让性能腾飞!亚马逊云科技的 Java 云端之旅

亚马逊云科技 (Amazon Web Services)

机器学习 Java' Amazon EC2

KaiwuDB 受邀出席大型企业数字化转型峰会暨工赋山东济南峰会并发表演讲

KaiwuDB

KaiwuDB 数字化转型峰会

IoTOS v1.0.0 开源,高效 实用 | 免费商用

开源物联卡管理平台-设备管理

IoT 若依 物联网, 开源物联网 国产OS开源社区

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