写点什么

.NET Framework 4.8 预览

  • 2018-06-20
  • 本文字数:1091 字

    阅读完需:约 4 分钟

虽然人们的大多数关注点都在.NET Core 上,但经典的.NET Framework 仍然在开发中。.NET 4.8 的“早期访问”预览版表明了微软最关心的领域包括高 DIP、可访问性和并发性。

.NET 4.8 预计将于 2019 年发布。目前的预期是,它将在稍后的 Windows 10 build 1607 上运行,但这一决定并非最终结果。

Span

在介绍新版本将要包含哪些内容之前,值得一提的是,最受期待的功能 Span不会成为此版本的一部分。据微软的 Rich Lander 称,

Span 包含在.NET Core 2.1 中。我们试图在.NET Framework 4.8 中包含 Span,但由于对现有应用程序的兼容性问题而决定不这么做。你可以 System.Memory Nuget 包中访问 Span 和其他相关类型。

System.Memory: https://www.nuget.org/packages/System.Memory/

高 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)

UIA 的关注点仍然是 WinForms 获得新的 UIA 行为,以及修复 UIA 和 WPF 中 UIA 错误。(很多非 UIA 错误也在二者中得到修复。)

有关变更的完整列表,请参阅.NET 4.8发布说明预览版本身可以通过.NET 博客获得。

查看英文原文 An early Look at .NET 4.8

2018-06-20 13:033119
用户头像

发布了 731 篇内容, 共 455.2 次阅读, 收获喜欢 2003 次。

关注

评论

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

瓴羊Quick BI智能报表打破“中式”报表限制,提速增效

夏日星河

js函数柯里化-面试手写版

helloworld1024fd

JavaScript 前端

建议收藏,2023互联网大厂Java面试1210道题全解析

架构师之道

java面试

阿里前端常考vue面试题汇总

bb_xiaxia1998

Vue 前端

学生信息管理系统

lory(侯保国)

一步步实现React-Hooks核心原理

helloworld1024fd

JavaScript 前端

阿里前端二面经典手写面试题汇总

helloworld1024fd

JavaScript 前端

从React源码分析看useEffect

goClient1992

React

HarmonyOS Connect “Device Partner”专场FAQ来啦!

HarmonyOS开发者

HarmonyOS

实现一个简单的Database12(译文)

GreatSQL

sqlite greatsql greatsql社区

互联网大厂Java 最常见的 1100+ 面试题汇总(金三银四面试必备)

架构师之道

java面试

vue的两种服务器端渲染方案

京东科技开发者

Vue 服务端 nextjs nuxt 渲染方案

说说Vue响应式系统中的Watcher和Dep的关系-面试进阶

bb_xiaxia1998

Vue 前端

react源码分析:实现react时间分片

flyzz177

React

react源码中的生命周期和事件系统

flyzz177

React

2023前端二面经典手写面试题

helloworld1024fd

JavaScript 前端

推荐系统[八]算法实践总结V0:腾讯音乐全民K歌推荐系统架构及粗排设计

汀丶人工智能

自然语言处理 推荐系统 推荐算法 搜索算法

React源码分析8-状态更新的优先级机制

goClient1992

React

飞桨-鹏城云脑发行版亮相第四届启智开发者大会,软硬一体化助力科研

飞桨PaddlePaddle

深度学习 paddle 飞桨

能不能手写Vue响应式?前端面试进阶

bb_xiaxia1998

Vue 前端

DevOps 与 FinOps:二者可以协同吗?

SEAL安全

DevOps FinOps 企业号 2 月 PK 榜

一个诡异的 Pulsar InterruptedException 异常

小小怪下士

Java 程序员 后端

运联智库发布跨境电商物流50强排行榜

联营汇聚

用于双目重建中的GPU编程:julia-cuda

京东科技开发者

机器学习 gpu 编码 Code julia

聊聊火出圈的ChatGPT

江湖修行

人工智能 AI ChatGPT

人人看得懂的ChatGPT技术原理解析

Baihai IDP

人工智能 自然语言处理 NLP 大模型 12 月 PK 榜 ChatGPT

React源码分析8-状态更新的优先级机制

goClient1992

React

GAIDC 2023盛会迎来大模型论坛“主场”,百度飞桨护航大模型产业发展

飞桨PaddlePaddle

深度学习 飞桨

react源码分析:babel如何解析jsx

flyzz177

React

PCB生产工艺|主流程之AOI,华秋一文读懂其子流程

华秋电子

华为Push用户增长服务:精准触达,加速增长

HarmonyOS SDK

HMS Core

.NET Framework 4.8预览_.NET_Jonathan Allen_InfoQ精选文章