@Rays
2018-02-22T17:10:15.000000Z
字数 1631
阅读 1809
语言开发
Microsoft
.NET
摘要: 尽管.NET Core众所瞩目,但是原先.NET Framework的开发脚步从未停止。Microsoft最近发布了.NET Framework 4.7.2预览版,更新了其中的ASP.NET、ADO.NET、WCF、WPF,乃至Windows Forms。
作者: Jonathan Allen
正文:
尽管.NET Core众所瞩目,但是原先.NET Framework的开发脚步也从未停止。Microsoft最近发布了.NET Framework 4.7.2预览版,更新了其中的ASP.NET、ADO.NET、WCF、WPF,乃至Windows Forms。完整的发行说明提供于GitHub上。
最大的改进就是支持Azure Active Directory的通用和多重身份验证(MFA,Multi-factor authentication)。此外,预览版中还修正了大量的驱动缺陷,例如XEvents丢失、SqlBulkCopy的可靠性问题等。
ASP.NET中的主要改进是支持Page、Custom Handler和User Control的依赖注入。但是这些改进将如何影响设计模式和能力,具体的细节尚未公布。
另一个特性是可以控制cookies中SameSite属性。以前只能使用URL重写规则设置SameSite。
HashSet得到了大量关注,其改进包括在性能和内存占用上的改进、一种指定其默认容量的方式、TryGetValue
方法,以及用于LINQ支持的ToHashSet
扩展方法。
ConcurrentDictionary
的性能也得到了改进,并给出了新的GetOrAdd
和AddOrUpdate
方法重载。
使用.NET Core给出的代码,ReaderWriterLockSlim
通过降低写饥饿(writer starvation)的可能性和避免唤醒多个写,实现对竞争问题的更好处理。
此外还有其它一些小的性能改进,涉及DateTime、文件和目录的枚举、TextInfo、Comparer/EqualityComparer.Default、Buffer和ManualResetEventSlim。
就特性而言改进很少,但是预览版中包含了不少提高可靠性的修补程序,涉及代码生成、垃圾回收和错误恢复和报告等方面。
现在支持在ClickOnce部署配置文件中启用高DPI。高DPI支持对于高分辨率显示器是必需的特性。Narrator作为一种重要的无障碍工具,现在可以和ClickOnce安装程序一起正常工作。
对Uri、HttpClient、SmtpClient、Socket和WebSocket做了重大修正,但是没有给出新的特性。
用于诊断WCF问题的SvcTraceViewer工具在UI上做了改进,“更合乎逻辑”。其与SvcConfigEditor工具都做了改进,意在符合无障碍标准。
在此次预览版中,修正了一些长期存在的软件缺陷,例如DataGridView.Dispose抛出NullReferenceException异常(编者按:希望这正是我在2008年曾报告过的缺陷)。令人惊喜的是,DataGridView具有了一项新特性,即可使用F3可更新表中的排序顺序。
更重要的是,该预览版在无障碍问题做了大量的工作,例如用于工具条的键盘无障碍支持。但是应用如果要完全使用这些改进,必须使用.NET Framework 4.7.2重新编译。
只给出了一些可靠性上的修正,并未提供新的特性。
只做了一些软件缺陷的修正,涉及内存泄漏、数据损害和崩溃等。