【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

.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:032888
用户头像

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

关注

评论

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

你可能不知道,我是如何将一个老系统的kafka消费者服务的性能提升近百倍的

Java全栈架构师

Java kafka 程序员 面试 架构设计

Nebula Importer 数据导入实践

NebulaGraph

图数据库 数据导入 Nebula Graph

LeetCode-168. Excel表列名称(java)

bug菌

LeetCode 7月月更

uni-app与uviewUI实现仿小米商城app(附源码)

优秀的李

小程序 uniapp 7月月更 uviewui

能源行业的数字化“新”运维

博睿数据

AIOPS 智能运维 博睿数据 能源行业

字节跳动Dev Better技术沙龙成功举办,携手华泰分享Web研发效能提升经验

字节跳动终端技术

字节跳动 前端

如何实现一个延时队列 ?

领创集团Advance Intelligence Group

延时队列 Redis 数据结构 redis 底层原理

一加10 Pro和iPhone 13怎么选?

Geek_8a195c

【Unity UGUI】ScrollRect 动态缩放格子大小,自动定位到中间的格子

萧然🐳

游戏开发 Unity ScrollView 7月月更 UGUI

激进技术派 vs 项目保守派的微服务架构之争

BoCloud博云

微服务 微服务架构 云原生 istio 服务网格

太方便了,钉钉上就可完成代码发布审批啦!

阿里云云效

云计算 阿里云 钉钉 jenkins 代码

华为云ModelArts的使用教程(附详细图解)

逝缘~

华为 华为云 7月月更

LeaRun.Java快速开发平台 高效代码自动化生成

力软低代码开发平台

PingCode 性能测试之负载测试实践

PingCode研发中心

软件测试 PingCode

OPPO 小布预训练大模型揭秘:可大规模工业化应用的十亿级模型

OPPO小布助手

AI 智能助手 预训练模型 预训练

智捷云——元宇宙综合解决方案服务商

智捷云

区块链 元宇宙 智捷云 区块链技术开发

什么是低代码开发?

AIRIOT

低代码 物联网 低代码,项目开发

被忽视的问题:测试环境配置管理

老张

软件测试 测试环境治理

NBA赛事直播超清画质背后:阿里云视频云「窄带高清2.0」技术深度解读

阿里云视频云

音视频 直播 视频编码

容器环境minor gc异常频繁分析

wgy

Java minor gc

2022年国内云管平台厂商哪家好?为什么?

行云管家

云计算 云管平台 云管平台厂商

五千字讲清楚团队自组织建设 | Liga 妙谈

LigaAI

团队管理 个人提升 敏捷开发管理 LigaAI 自组织协作

Numpy 的仿制 2

祖维

c slice Numpy

输入的查询SQL语句,是如何执行的?

华为云开发者联盟

MySQL sql 开发 语句

第十八届IET交直流输电国际会议(ACDC2022)于线上成功举办

E科讯

图像检索(image retrieval)

Geek_e369a5

图像搜索 图像检索

Python 入门指南之使用 Python 解释器

海拥(haiyong.site)

7月月更

同事悄悄告诉我,飞书通知还能这样玩

Jianmu

自动化 建木CI 飞书通知 定时

DataKit——真正的统一可观测性 Agent

观测云

TCP两次挥手,你见过吗?那四次握手呢?

C++后台开发

网络编程 网络协议 TCP/IP 后端开发 C++开发

DeFi生态NFT流动性挖矿系统开发搭建

薇電13242772558

NFT DeFi流动性挖矿

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