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