首页 文章

从.Net Frameworkf v.4.0到4.5还发生了哪些其他无声的变化? [关闭]

提问于
浏览
7

我们想切换到.net 4.5,因为它提供了许多改进 .

但是......有时我发现了一些关于框架中不是微不足道的变化的棘手细节 .

让我们看看TPL未被观察到exception handling作为例子:

如果不等待传播异常的任务或访问其异常属性,则在对任务进行垃圾回收时,将根据.NET异常策略升级异常 . (注意,“例外政策”一词没有任何联系或澄清)

嗯,这似乎是.Net v.4.0中的行为

但Stephen Toub tells us more

为了使开发人员更容易根据Tasks编写异步代码,.NET 4.5更改了未观察到的异常的默认异常行为 . 虽然未观察到的异常仍会导致引发UnobservedTaskException事件(不会这样做会发生重大变化),默认情况下进程不会崩溃 . 相反,无论事件处理程序是否观察到异常,异常将在引发事件后最终被吃掉 . 但是,可以配置此行为 . 可以使用新的CLR配置标志恢复到.NET 4的崩溃行为 . 请注意,此更改并不意味着开发人员应该忽略忽略未处理的异常...它只是意味着运行时比使用它更宽容成为 .

这是一个很大的惊喜 . 考虑到文档中没有更新 .

所以,我更了解.Net v4.5中发生过的事情
请分享你的知识 .

附:这里的单词"silent"表示从Wat的New articles甚至官方文档中难以得知的变化 .

1 回答

相关问题