.NET 10 网络堆栈深度架构解析:HTTP/3、性能优化与后量子加密的融合演进

1. 摘要:迈向现代、高效与开发者友好的新纪元

随着.NET 10 的发布,微软不仅是在更新一个开发框架,更是在重新定义云原生时代的网络通信标准。本次更新的核心理念紧扣“更现代、更高效、更开发者友好”的三大支柱,标志着.NET 网络堆栈从传统的 TCP/IP 依赖向以 UDP 为基础的 QUIC 协议、后量子加密安全以及零分配(Zero-Allocation)高性能架构的全面转型。

本文将对.NET 10 中的网络层更新进行详尽的技术剖析。分析显示,.NET 10 通过将 HTTP/3 和 QUIC 提升为一等公民,根本性地解决了长期困扰 Web 应用的队头阻塞(Head-of-Line Blocking)问题,并为移动网络环境下的连接迁移提供了原生支持 1。在安全性方面,.NET 10 引入了美国国家标准与技术研究院(NIST)标准化的后量子加密(PQC)算法,成为首批能够抵御“现在收集,以后解密”量子威胁的主流开发平台之一 1。

在性能层面,运行时(Runtime)与库(Libraries)的深度协同带来了显著的吞吐量提升。通过 JIT 编译器的循环倒置(Loop Inversion)优化、HTTP 头解析的内存池化处理,以及 Windows 平台上 WinHttpHandler 的证书缓存机制,.NET 10 在高并发场景下的资源消耗显著降低 1。此外,针对开发者体验的改进,如 WebSocketStream 的引入和基于 OpenTelemetry 的可观测性增强,极大地简化了现代分布式系统的构建与运维 1。

2. HTTP/3 与 QUIC:网络传输层的范式转移

2.1 协议演进的历史必然性:超越 TCP

在过去的三十年中,传输控制协议(TCP)一直是互联网通信的基石。然而,随着 Web 应用的复杂性呈指数级增长,TCP 协议设计的固有局限性逐渐暴露。在 HTTP/2 时代,虽然引入了多路复用(Multiplexing)以允许在单一 TCP 连接上并行传输多个流,但 TCP 严格的按序交付机制导致了严重的“队头阻塞”(Head-of-Line Blocking, HOL)问题。一旦底层的 TCP 数据包在网络中丢失,该连接上的所有流——无论其是否与丢失的数据包相关——都必须暂停处理,直到重传成功 2。

.NET 10 对 HTTP/3 的全面支持,实质上是对这一基础架构缺陷的彻底修正。HTTP/3 基于 QUIC 协议构建,而 QUIC 则运行于 UDP 之上。这种架构将可靠性、流控制和拥塞控制的责任从操作系统内核转移到了用户空间的应用程序层 2。

2.1.1 解决队头阻塞的机制

在.NET 10 的网络堆栈中,System.Net.Quic 库实现了流的真正独立性。如果属于“流 A”的一个数据包丢失,仅有“流 A”会受到影响,“流 B”、“流 C”等其他流的数据包只要到达,即可被应用层立即处理 8。

对于现代富媒体应用而言,这意味着页面渲染的关键路径不再受制于非关键资源的丢包。例如,一个网页可能包含关键的 CSS 文件(流 A)和装饰性的图片(流 B)。在 HTTP/2 (TCP) 环境下,图片数据包的丢失会阻塞 CSS 的解析;而在.NET 10 的 HTTP/3 环境下,CSS 可以独立到达并被浏览器处理,从而显著改善首次内容绘制(FCP)和最大内容绘制(LCP)等核心用户体验指标 3。

2.2 System.Net.Quic:.NET 10 的核心基石

在.NET 10 中,System.Net.Quic 库已从之前的预览状态毕业,成为稳定且高性能的核心组件。它作为微软开源的跨平台 QUIC 实现——MsQuic 的托管封装,负责处理极其复杂的 QUIC 握手、加密和流管理逻辑 8。

2.2.1 跨平台架构与依赖

System.Net.Quic 的设计遵循了“去抽象化”(De-abstraction)的性能优化原则,但在底层实现上必须依赖于操作系统的特定能力:

  • Windows 平台:依赖于 MsQuic.dll,并深度集成 Windows SChannel 以支持 TLS 1.3 握手。由于 QUIC 极度依赖于 UDP 包的高效收发(User Datagram Protocol),Windows 11 和 Windows Server 2022 引入了内核级的 UDP 性能优化(如 UDP 发送卸载 USO),这使得它们成为运行.NET 10 HTTP/3 服务的最优平台 3。
  • Linux 平台:依赖于 libmsquic 包,通常需要通过微软的官方包源进行安装。在加密层面,它依赖于 OpenSSL 3.0 或更高版本来提供 QUIC 所需的 TLS 1.3 接口。值得注意的是,.NET 10 在 Linux 上的部署策略更加灵活,允许用户通过包管理器更新 libmsquic,从而独立于.NET 运行时获得 QUIC 协议栈的安全补丁 10。
  • macOS 平台:虽然 macOS 对 QUIC 的原生支持起步较晚,但.NET 10 引入了针对 macOS 客户端的 TLS 1.3 支持改进,这为在苹果生态系统中通过 HttpClient 使用 HTTP/3 扫清了关键障碍 1。

2.3 连接迁移(Connection Migration):移动时代的杀手级特性

.NET 10 中 HTTP/3 的另一大技术亮点是连接迁移。在传统的 TCP 架构中,连接是由四元组(源 IP、源端口、目标 IP、目标端口)唯一标识的。当移动设备用户从 Wi-Fi 网络切换到 5G 蜂窝网络时,源 IP 地址会发生变化,导致 TCP 连接断开,应用必须重新建立连接并重新进行 TLS 握手,这会造成明显的用户体验中断(如视频卡顿、加载转圈)。

基于 QUIC 的.NET 10 网络栈使用 连接 ID(Connection ID, CID) 来标识连接,而非 IP 地址。即使客户端的网络接口发生变化,只要 CID 保持一致,Kestrel 服务器就能识别出这是同一个逻辑连接,并继续在新的网络路径上无缝传输数据 3。

这一特性对于构建现代移动应用后端至关重要。使用.NET 10 构建的 API 服务能够天然适应不稳定的移动网络环境,极大地提升了应用在弱网和网络切换场景下的鲁棒性。

2.4 Kestrel 服务器的 HTTP/3 配置与优化

在 ASP.NET Core 10 中,Kestrel 服务器对 HTTP/3 的支持已经成熟,但为了兼顾兼容性,默认配置通常采用混合协议模式。

配置策略:
为了最大化兼容性,.NET 10 应用通常会暴露同时支持 HTTP/1.1、HTTP/2 和 HTTP/3 的端点。Kestrel 会自动处理 Alt-Svc(Alternative Service)响应头,告知支持 HTTP/3 的客户端在后续请求中升级协议。

C#

//.NET 10 Kestrel 配置示例
builder.WebHost.ConfigureKestrel((context, options) => {
options.ListenAnyIP(5001, listenOptions =>
{
// 同时启用三种协议版本,确保向后兼容与未来就绪
listenOptions.Protocols = HttpProtocols.Http1AndHttp2AndHttp3;
listenOptions.UseHttps(); // QUIC 强制要求加密
});
});

关键差异对比表:HTTP/2 (TCP) vs HTTP/3 (QUIC) 在.NET 10 中的实现

特性维度 HTTP/2 (TCP) HTTP/3 (QUIC) .NET 10 改进与优势
传输层协议 TCP (面向连接,流式) UDP (无连接,数据报) 利用 MsQuic 实现用户态拥塞控制,迭代速度快于内核 TCP 栈 3。
握手延迟 TCP 握手 + TLS 握手 (2-3 RTT) QUIC 握手 (1 RTT / 0-RTT) 支持 0-RTT 恢复,客户端重连时可立即发送数据 3。
多路复用 单连接,流相互依赖 (HOL 阻塞) 独立流,互不干扰 彻底消除队头阻塞,提升弱网环境下的页面加载速度 3。
加密层 TLS 1.2 或 1.3 (TCP 载荷) TLS 1.3 (深度集成) 加密是协议强制部分,且不仅加密载荷,还加密部分传输头 3。
网络切换 连接断开,需重连 连接迁移 (Connection Migration) 依靠 CID 维持连接,IP 变更不影响会话持续性 11。

3. WebTransport:实时通信的未来标准

3.1 超越 WebSocket 的局限

长期以来,WebSocket 一直是 Web 实时双向通信的标准。然而,WebSocket 本质上是在 HTTP/1.1 握手后升级到的 TCP 连接,因此它继承了 TCP 的所有缺陷,特别是队头阻塞。如果 WebSocket 连接中的一个数据包丢失,整个消息队列都会停滞。

.NET 10 大力推进对 WebTransport 的支持。WebTransport 是基于 HTTP/3 和 QUIC 构建的下一代实时通信协议,它为开发者提供了统一的 API 来处理三种通信模式:

  1. 可靠的双向流(类似 WebSocket,但多路复用且无 HOL 阻塞)。
  2. 可靠的单向流(适用于单向推送)。
  3. 不可靠的数据报(Datagrams,类似 UDP)。

3.2 Kestrel 中的 WebTransport 演进

在.NET 10 之前的版本中,启用 WebTransport 需要设置实验性标志 Microsoft.AspNetCore.Server.Kestrel.Experimental.WebTransportAndH3Datagrams。随着.NET 10 的发布,这一功能逐渐走向成熟和稳定 12。

Kestrel 的 WebTransport 实现直接挂钩于 HTTP/3 帧处理管道。当客户端发起 WebTransport 会话时,Kestrel 能够在一个现有的 HTTP/3 连接上创建新的会话上下文,该上下文可以孵化出多个独立的子流。

3.2.1 关键用例分析:游戏与物联网

WebTransport 的“数据报”(Datagram)功能是.NET 10 在实时领域的一大杀器。

  • 在线游戏:多人游戏服务器需要以极高频率发送玩家坐标。这些数据具有时效性——100毫秒前的坐标如果现在才到达,毫无意义。使用 WebTransport 数据报,.NET 10 服务器可以像发送 UDP 包一样发送这些数据,允许丢包,从而保证最低的延迟 14。
  • 物联网(IoT)遥测:数以万计的传感器通过 QUIC 连接到.NET 10 边缘网关,发送非关键的遥测数据。数据报模式避免了 TCP 重传机制带来的带宽浪费和延迟累积。

3.3 传统 WebSocket 的现代化:WebSocketStream

尽管 WebTransport 代表了未来,但.NET 10 并未抛弃广泛使用的 WebSocket。相反,它引入了 WebSocketStream 类,极大地改善了开发体验 1。

痛点解决:
在.NET 10 之前,使用 ClientWebSocket 进行编程极其繁琐。开发者必须手动管理缓冲区,编写循环来调用 ReceiveAsync,检查 EndOfMessage 属性,处理分片消息,然后再将字节流拼凑起来。
新范式:
.NET 10 的 WebSocketStream 将 WebSocket 封装为一个标准的 .NET Stream 对象。

//.NET 10 之前的繁琐方式被简化为:
using var socket = new ClientWebSocket();
await socket.ConnectAsync(uri, CancellationToken.None);

//.NET 10 新特性:直接创建流
using var stream = socket.CreateStream();
using var reader = new StreamReader(stream);
using var writer = new StreamWriter(stream);

// 像读写文件一样读写 WebSocket
await writer.WriteLineAsync("Hello.NET 10");
string response = await reader.ReadLineAsync();

这一改进使得 WebSocket 可以直接与现有的生态系统(如 JSON 序列化器、压缩流 GZipStream)无缝集成,无需编写任何适配代码,充分体现了“更开发者友好”的目标。

4. 性能工程:从 JIT 到网络 I/O 的全链路优化

.NET 10 的性能提升并非源于单一的“银弹”,而是遍布于 JIT 编译器、垃圾回收(GC)以及网络库底层的无数微优化。这些优化的核心目标是:减少分配(Allocation Reduction)提升 CPU 指令效率

4.1 零分配(Zero-Allocation)网络栈的深入

在高并发网络服务中,垃圾回收(GC)往往是延迟长尾的主要来源。每次 HTTP 请求如果都分配新的对象(如 Header 字符串、Task 对象),GC 的压力就会随着 QPS 的增加而剧增。

  • HTTP 头解析的 Span 化:.NET 10 重构了 Kestrel 和 HttpClient 的头解析逻辑。在旧版本中,解析 HTTP 头通常意味着为每个 Key 和 Value 分配 string 对象。新版本广泛利用 ReadOnlySpan<byte>,直接在接收缓冲区的原始内存上进行切片和操作,无需进行堆分配。内部的头结构现在使用单个连续的内存块来存储所有头的键值对,这不仅消除了对象开销,还显著提高了 CPU 缓存的局部性(Cache Locality)6。
  • 字典查找优化:HTTP/2 和 HTTP/3 协议涉及大量的状态管理和设置查找。.NET 10 将这些查找操作从基于字符串的字典替换为基于 ReadOnlySpan<byte> 的查找,并配合 ConcurrentDictionary 缓存协议特定的设置。这种去字符串化的操作避免了高频路径上的哈希计算和字符串分配 6。

4.2 JIT 编译器与循环优化

.NET 10 的 JIT 编译器引入了**循环倒置(Loop Inversion)和增强的结构体参数传递(Struct Promotion)**技术,这些通用的编译器优化对网络栈产生了直接的积极影响 1。

  • 分块传输编码(Chunked Transfer Encoding)的加速:在处理 HTTP 响应体时,解析器需要循环读取数据块。通过新的循环优化技术,JIT 能够将 while 循环转换为带有条件入口的 do-while 循环,减少了汇编层面的跳转指令。基准测试显示,这一改变使得分块数据的处理速度提升了约 20% 6。这对于大文件传输或流式 API 的性能提升尤为关键。

4.3 Windows 平台的 WinHttpHandler 证书缓存

在 Windows 平台上,HttpClient 默认使用 WinHttpHandler。在.NET 10 之前,如果开发者注册了自定义的 ServerCertificateValidationCallback 来验证服务器证书,托管层必须为每个请求都调用该回调,这会导致底层的 WinHTTP 库在每次请求时都进行完整的证书链构建,开销巨大 5。

.NET 10 引入了一个可选的开关 System.Net.Http.UseWinHttpCertificateCaching。启用后,WinHttpHandler 会根据服务器 IP 地址缓存证书验证结果。

  • 机制:当建立新连接时,如果服务器提供的证书与缓存中已验证通过的证书一致,则跳过昂贵的证书链构建和回调调用。
  • 影响:对于微服务架构中频繁调用的内部 HTTPS 端点,这一优化可以大幅降低 CPU 使用率并减少握手延迟。

4.4 Linux I/O 的未来:io_uring 与零拷贝

在 Linux 平台上,I/O 模型正在经历从 epoll 到 io_uring 的变革。io_uring 提供了一个全新的异步 I/O 接口,允许应用程序通过共享内存环形缓冲区提交 I/O 请求,从而避免了每次系统调用的上下文切换开销 15。

虽然.NET 10 的默认套接字实现仍基于高度优化的 epoll,但运行时已经引入了 FileStreamStrategy 等抽象层,为 io_uring 的全面采纳铺平了道路 16。社区和基准测试表明,结合 io_uring 的零拷贝(Zero-Copy) 网络传输(即将网卡数据直接 DMA 到用户态内存,绕过内核协议栈拷贝)是未来的终极目标 17。.NET 10 在底层的重构使得这一特性的接入变得更加容易,一旦 Linux 内核(如 6.x 版本)的相关特性普及,.NET 应用有望获得接近硬件极限的网络吞吐量。

5. 安全架构:后量子加密(PQC)的防御性引入

随着量子计算技术的快速发展,现有的公钥加密算法(如 RSA 和 ECC)面临着被 Shor 算法破解的生存威胁。虽然能够破解现有加密的量子计算机尚未问世,但攻击者可以采取“现在收集,以后解密”(Harvest Now, Decrypt Later)的策略,即现在窃取并存储加密流量,待未来量子计算机成熟后再进行解密。

.NET 10 以前瞻性的视野,在核心库中集成了 NIST 于 2024/2025 年标准化的后量子加密算法,旨在为高安全性应用提供长达数十年的数据保护 1。

5.1 支持的 PQC 算法体系

.NET 10 通过 System.Security.Cryptography 命名空间引入了三种关键算法 4:

算法名称 原名 NIST 标准 类型 用途 特点
ML-KEM CRYSTALS-Kyber FIPS 203 密钥封装机制 (KEM) TLS 握手密钥交换 计算效率高,密钥尺寸适中,适合网络传输。
ML-DSA CRYSTALS-Dilithium FIPS 204 数字签名算法 身份认证、证书签名 签名速度快,但公钥和签名尺寸大于传统的 ECDSA。
SLH-DSA SPHINCS+ FIPS 205 数字签名算法 备用签名方案 基于哈希的无状态签名,安全性极高但签名尺寸较大,作为保守的后备选项。

5.2 网络层集成与混合模式

在.NET 10 中,PQC 并非仅仅是作为一个数学库存在,而是深度集成到了网络协议栈中。

  • TLS 1.3 混合密钥交换:当使用 SslStream 或 HttpClient 时,.NET 10 支持协商“混合”密钥交换模式。这意味着客户端和服务器会同时使用传统的椭圆曲线算法(如 X25519)和后量子的 ML-KEM 算法来派生会话密钥。
    • 安全优势:这种设计确保了即便是 PQC 算法在未来被发现存在数学缺陷,连接的安全性仍然由经典的椭圆曲线算法兜底;而如果量子计算机出现,PQC 部分则提供了量子抗性 4。
  • 证书支持:.NET 10 的 X509Certificate2 类已更新以支持包含 PQC 公钥的证书。同时,为了应对 PQC 算法较大的密钥尺寸对性能的影响,新的 X509Certificate2Collection.FindByThumbprint 方法被优化为使用栈上分配的缓冲区进行查找,避免了在大规模证书库检索时的内存抖动 6。

对于金融、医疗和政府领域的.NET 开发者而言,升级到.NET 10 意味着可以立即为系统添加对抗未来威胁的免疫力,这在合规性和长期数据保护方面具有巨大的战略价值。

6. 可观测性与诊断:构建透明的分布式系统

在现代微服务架构中,如果缺乏透彻的可观测性,网络问题将变得难以调试。.NET 10 延续并强化了“云原生优先”的策略,深度集成了 OpenTelemetry 标准,并提供了丰富的内置指标(Metrics)7。

6.1 关键的新增网络指标

.NET 10 在 Microsoft.AspNetCore.Hosting 和 System.Net.Http 仪表板中引入了更细粒度的指标,帮助运维人员(SRE)快速定位问题。

  • aspnetcore.request.is_unhandled:这是一个布尔值属性/指标。在旧版本中,服务器返回 404 可能意味着资源不存在,也可能意味着请求根本没有匹配到任何端点。.NET 10 明确标记了那些“未被处理”的请求(即流经所有中间件仍未被捕获的请求)。这对于识别恶意的扫描攻击或路由配置错误至关重要 22。
  • http.client.connection.duration:记录 HTTP 客户端连接的存活时间分布直方图。这对于优化连接池设置(如 PooledConnectionLifetime)提供了数据支持 24。

6.2 分布式追踪与 Aspire 集成

.NET 10 与 .NET Aspire 编排堆栈紧密配合。Aspire 项目模板默认配置了 OpenTelemetry 收集器。

  • Trace Context 传播:当.NET 10 的 HttpClient 发起请求时,它会自动注入 W3C 标准的 traceparent 头。
  • 跨协议追踪:无论请求是通过 HTTP/1.1、HTTP/2 还是最新的 HTTP/3 (QUIC) 传输,甚至是通过 WebTransport 的数据报发送,追踪上下文都能被正确保留。这意味着开发者可以在 Jaeger 或 Zipkin 等工具中看到一条完整的调用链,清晰地展示请求是如何在基于 QUIC 的微服务网格中流转的 7。

7. 开发者体验(DevX):简化复杂度

除了底层的硬核优化,.NET 10 同样关注开发者的日常编码体验,力求降低高性能网络编程的门槛。

7.1 容器化构建的标准化

随着 Kubernetes 成为部署标准,.NET 10 SDK 进一步简化了容器镜像的构建流程。开发者现在可以直接使用 dotnet publish /t:PublishContainer 命令,并通过新的属性显式设置容器镜像的格式。这使得在 CI/CD 流水线中生成包含 libmsquic 依赖的轻量级 Linux 镜像变得更加标准化和可控,无需编写复杂的 Dockerfile 1。

7.2 NativeAOT 的网络兼容性

.NET 10 继续完善 NativeAOT(Ahead-of-Time 静态编译)的支持。对于网络密集型应用(如 AWS Lambda 函数或 CLI 工具),NativeAOT 可以显著减少冷启动时间和内存占用。

  • 裁剪友好:System.Net.Http 和 System.Net.Quic 经过了深度裁剪(Trimming)优化,确保在静态编译时只保留必要的代码路径。
  • PQC 的静态链接:新的后量子加密库被设计为易于静态链接,确保即使用了复杂的加密算法,生成的二进制文件依然紧凑且独立 1。

8. 结论:.NET 10 网络堆栈的战略意义

综上所述,.NET 10 的网络层更新远非简单的版本迭代,它是微软针对未来互联网基础设施的一次全方位布局。

  1. 更现代(Modern):通过将 HTTP/3 和 QUIC 确立为默认的首选协议,.NET 10 摆脱了 TCP 的历史包袱,拥抱了移动优先、弱网友好的新连接范式。WebTransport 的成熟则为实时 Web 应用开辟了超越 WebSocket 的新天地。
  2. 更高效(Efficient):从 JIT 的循环倒置到网络栈的零分配设计,再到对 Linux io_uring 的前瞻性支持,.NET 10 在吞吐量和资源利用率上达到了新的高度,能够以更少的硬件成本支撑更大的并发流量。
  3. 更安全(Secure)后量子加密(PQC) 的原生集成展示了.NET 平台在安全领域的领导力,为企业提供了应对未来算力威胁的现成解决方案,构筑了坚固的数字护城河。
  4. 更开发者友好(Developer Friendly):无论是 WebSocketStream 带来的 API 简化,还是 OpenTelemetry 指标的丰富,都体现了以开发者生产力为核心的设计哲学。

对于正在规划技术路线图的企业和团队而言,.NET 10 提供了一个极其强劲的理由进行升级:它不仅能立即提升现有应用的性能,更为构建下一代高性能、高安全性的云边端融合应用提供了坚实的基础设施。

附录:数据与对比表

表 1:.NET 10 支持的后量子加密算法概览

算法标识 类型 NIST 标准文档 主要应用场景 性能特征与权衡
ML-KEM (Kyber) 密钥封装 (KEM) FIPS 203 TLS 握手、密钥协商 极快的封装/解封装速度,密文约 1KB,对握手延迟影响极小。
ML-DSA (Dilithium) 数字签名 FIPS 204 CA 证书签名、身份认证 签名验证速度快,但签名体积较大(约 2.4KB),可能导致 TCP 分片或 UDP MTU 问题。
SLH-DSA (SPHINCS+) 数字签名 FIPS 205 长期存档签名、高安全需求 基于哈希,安全性最保守,但签名体积巨大(8KB-40KB),性能开销大,作为最后防线。

表 2:.NET 10 关键网络性能优化点

优化领域 技术手段 具体影响 数据源
HTTP 头处理 ReadOnlySpan<byte> 与内存池化 消除每个请求数 KB 的临时字符串分配,降低 GC 频率。 6
分块响应解析 JIT 循环倒置 (Loop Inversion) 减少 CPU 分支预测失败,解析吞吐量提升 ~20%。 6
TLS 重连 WinHttpHandler 证书缓存 避免重复的证书链构建,降低高频 HTTPS 调用的 CPU 消耗。 5
哈希计算 OpenSSL SafeEvpHandle 复用 减少互操作分配,SHA256 计算提速 ~20%。 6

引用的文章

  1. What's new in .NET 10 - Microsoft Learn, 访问时间为 十二月 12, 2025, https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-10/overview
  2. HTTP/3 - Wikipedia, 访问时间为 十二月 12, 2025, https://en.wikipedia.org/wiki/HTTP/3
  3. Use HTTP/3 with the ASP.NET Core Kestrel web server | Microsoft ..., 访问时间为 十二月 12, 2025, https://learn.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel/http3?view=aspnetcore-10.0
  4. Post Quantum Cryptography (PQC) for .NET 10 · Issue #113498 · dotnet/runtime - GitHub, 访问时间为 十二月 12, 2025, https://github.com/dotnet/runtime/issues/113498
  5. .NET 10 Networking Improvements - .NET Blog, 访问时间为 十二月 12, 2025, https://devblogs.microsoft.com/dotnet/dotnet-10-networking-improvements
  6. Performance Improvements in .NET 10 - Microsoft Developer Blogs, 访问时间为 十二月 12, 2025, https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-10/
  7. Distributed tracing in System.Net libraries - Microsoft Learn, 访问时间为 十二月 12, 2025, https://learn.microsoft.com/en-us/dotnet/fundamentals/networking/telemetry/tracing
  8. QUIC support in .NET - Microsoft Learn, 访问时间为 十二月 12, 2025, https://learn.microsoft.com/en-us/dotnet/fundamentals/networking/quic/quic-overview
  9. HTTP3 over QUIC protocol | NetScaler 14.1 - Product Documentation, 访问时间为 十二月 12, 2025, https://docs.netscaler.com/en-us/citrix-adc/current-release/system/http3-over-quic-protocol.html
  10. Support Windows 10 for System.Net.Quic · Issue #101200 · dotnet/runtime - GitHub, 访问时间为 十二月 12, 2025, https://github.com/dotnet/runtime/issues/101200
  11. HTTP/3 is everywhere but nowhere, 访问时间为 十二月 12, 2025, https://httptoolkit.com/blog/http3-quic-open-source-support-nowhere/
  12. aspnetcore/src/Servers/Kestrel/samples/WebTransportInteractiveSampleApp/WebTransportInteractiveSampleApp.csproj at main · dotnet/aspnetcore - GitHub, 访问时间为 十二月 12, 2025, https://github.com/dotnet/aspnetcore/blob/main/src/Servers/Kestrel/samples/WebTransportInteractiveSampleApp/WebTransportInteractiveSampleApp.csproj
  13. IWebTransportSession.AcceptStreamAsync(CancellationToken) Method (Microsoft.AspNetCore.Http.Features), 访问时间为 十二月 12, 2025, https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.http.features.iwebtransportsession.acceptstreamasync?view=aspnetcore-9.0
  14. Experimental WebTransport over HTTP/3 support in Kestrel - .NET Blog, 访问时间为 十二月 12, 2025, https://devblogs.microsoft.com/dotnet/experimental-webtransport-over-http-3-support-in-kestrel/
  15. io_uring - Wikipedia, 访问时间为 十二月 12, 2025, https://en.wikipedia.org/wiki/Io_uring
  16. Implement io_uring support for FileStream · Issue #51985 · dotnet/runtime - GitHub, 访问时间为 十二月 12, 2025, https://github.com/dotnet/runtime/issues/51985
  17. IO_uring Zero-Copy Receive Support Ready For Linux 6.15 Networking - Phoronix, 访问时间为 十二月 12, 2025, https://www.phoronix.com/news/IO_uring-Zero-Copy-Receive-Net
  18. Forget Evil AI, .NET 10 Tackles Quantum Threats - Visual Studio Magazine, 访问时间为 十二月 12, 2025, https://visualstudiomagazine.com/articles/2025/06/11/forget-evil-ai-net-10-tackles-quantum-threats.aspx
  19. .NET 10: Fortifying the Future with Post-Quantum Cryptography and Enhanced Observability | by Max | Medium, 访问时间为 十二月 12, 2025, https://medium.com/@csmax/net-10-fortifying-the-future-with-post-quantum-cryptography-and-enhanced-observability-2b08ae1253ca
  20. What's new in .NET libraries for .NET 10 | Microsoft Learn, 访问时间为 十二月 12, 2025, https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-10/libraries
  21. Networking metrics - .NET - Microsoft Learn, 访问时间为 十二月 12, 2025, https://learn.microsoft.com/en-us/dotnet/fundamentals/networking/telemetry/metrics
  22. ASP.NET Core built-in metrics - Microsoft Learn, 访问时间为 十二月 12, 2025, https://learn.microsoft.com/en-us/aspnet/core/log-mon/metrics/built-in?view=aspnetcore-10.0
  23. aspnetcore/src/Hosting/Hosting/src/Internal/HostingMetrics.cs at main - GitHub, 访问时间为 十二月 12, 2025, https://github.com/dotnet/aspnetcore/blob/main/src/Hosting/Hosting/src/Internal/HostingMetrics.cs
  24. Semantic conventions for HTTP client and server metrics emitted by .NET | OpenTelemetry, 访问时间为 十二月 12, 2025, https://opentelemetry.io/docs/specs/semconv/dotnet/dotnet-http-metrics/
  25. Complete Guide to Distributed Tracing - New Relic, 访问时间为 十二月 12, 2025, https://newrelic.com/blog/best-practices/distributed-tracing-guide
posted @ 2025-12-14 22:41  张善友  阅读(3)  评论(0)    收藏  举报