系统编程框架.NET Framework 4.8官方版

NET Framework 4.8是由微软推出的系统组件,.NET Framework 4.8是微软官方近期推出的最新.net版本,增加了对win10系统的支持,解决了死锁和静态条件的问题,提高了用户界面可访问性,仅适用于64位系统。.NET Framework 4.8仍然只支持.NET Standard 2.0,部分C# 8.0的新特性无法使用。

timg.jpg

 

.NET Framework 4.8新功能

一、高DPI

高DPI仍然是.NET的焦点。随着显示器分辨率不断提高,应用程序需要放大以补偿文字和图像太小造成的无法辨认。在此版本中,ClickOnce和WinForms将迎来高DPI更新。

高DPI问题持续存在的原因有两个。首先是高分辨率显示器的可用性问题。在支持缩放的硬件变得可用之前,微软无法有效测试200%和300%的缩放比例。因此,除非显示器已经改进到一定程度,否则缩放仍然是一个问题。

另一个挑战是多监视器设置。当应用程序在不同分辨率的显示器之间移动时,必须重新计算缩放并换出图像。更糟糕的是,应用程序可能会在两个或多个具有不同分辨率的显示器上发生重叠。解决这种情况需要各种妥协,结果并不总是令人满意。

二、性能

除了通常的内部调整(如减少AsyncLocal的内存使用量或微调旋转锁)之外,此版本还修复了SqlDataReader.ReadAsync实际上不是异步执行的问题。

三、死锁和静态条件

鉴于.NET Framework日趋成熟,我们可能会惊奇地发现,许多核心库仍存在竞态条件和死锁。以下是与并发相关问题的部分列表。

CLR:在并发调用新动态方法可能发生的潜在崩溃

CLR:调用EventSource的Dispose()时可能发生死锁

网络:在锁定NetworkChanged监听器和用户回调时,NetworkInformation.NetworkChange可能会发生死锁

WCF:在调用Set()之前关闭WaitHandle,可能在AsyncResult中存在竞态条件

WCF:当中止连接导致从CleanupChannelCollections中抛出ObjectDisposedException时可能发生的竟态条件

工作流程:在极端使用条件下(与MSDTC的大量连接),单个线程可能会无限期地持有CriticalSection

用户界面可访问性(UIA)

NET Framework主要功能

提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在 Internet 上分布,或者是在远程执行的。

提供一个将软件部署和版本控制冲突最小化的代码执行环境。

提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境。

提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。

使开发人员的经验在面对类型大不相同的应用程序(如基于 Windows 的应用程序和基于 Web 的应用程序)时保持一致。

按照工业标准生成所有通信,以确保基于 .NET Framework 的代码可与任何其他代码集成。

 

版权声明:若无特殊注明,本文为《ADMIN》原创,转载请保留文章出处。
本文链接:https://bangongit.com/?post=1287
正文到此结束

热门推荐

发表吐槽

你肿么看?

你还可以输入 250 / 250 个字

嘻嘻 大笑 可怜 吃惊 害羞 调皮 鄙视 示爱 大哭 开心 偷笑 嘘 奸笑 委屈 抱抱 愤怒 思考 日了狗 胜利 不高兴 阴险 乖 酷 滑稽

评论信息框
可使用QQ号实时获取昵称+头像

私密评论

吃奶的力气提交吐槽中...


既然没有吐槽,那就赶紧抢沙发吧!