
1. 简单介绍微软在2026/10/13发布了.NET11 Release Candidate 211月微软将会发布.NET11正式版这是一个STS版本(Standard Term Support)微软提供两年支持。当前需要安装Visual Studio Code with the C# Dev Kit或者Visual Studio 2026 Insiders才能体验.NET11新特性。这边将简单尝试一下.NET11中基于Zstandard (简称zstd)的压缩新特性。2.Zstandard说明常见的压缩格式有rar,zip,7z,tar等而压缩算法有gzip,Brotli,Zstd,Pigz,ISA-L,Pzstd等。一个格式并不是绑定到一个特定压缩算法的比如rar, zip, 7z都支持好几个压缩算法。Zstd是facebook于2016推出的Zstd在压缩速度和压缩比方面都能提供比较好的效果。下面是Zstandard官方做的一个benchmark数据note, zstd 支持配置--fast参数数字越大压缩速度越快不过压缩比会降低(compression ratio)。3. Zstandard实践3.1 制作项目创建一个ASP.NET Core WebAPI项目在项目中添加和配置request compression middleware和Response compression middleware。同时通过ZstandardCompressionOptions可以配置Quality(值可以为1-22)值越大压缩的最终size越小不过速度变慢。var builder WebApplication.CreateBuilder(args) ... builder.Services.AddResponseCompression(options { options.EnableForHttps true; }); builder.Services.AddRequestDecompression(); builder.Services.ConfigureZstandardCompressionProviderOptions(options { options.CompressionOptions new ZstandardCompressionOptions { Quality 6 }; }); var app builder.Build(); ... app.UseRequestDecompression(); app.UseResponseCompression(); app.MapGet(/zstdcheck, () { try { using StreamReader reader new(response_202610.json); string text reader.ReadToEnd(); return Results.Ok(text); } catch (IOException e) { return Results.Empty; } }) .WithName(ZstandardCompressionCheck); app.Run();假定已经存在一个文件response_202610.json大小是2M多。3.2 测试一下1) 使用dotnet run命令运行项目如果配置了swagger则打开Swagger页面3) 当设定Quality值为6时候查看webapi的网络请求情况发现最终response size是34.4KB同时时间消耗了103ms。同时在Response headers中多出了Vary:Accept-Encoding的header4) 当设定Quality值为16时候查看webapi的网络请求情况发现最终response size是30.7KB时间消耗了755ms。说明Quality值越大确实压缩的size越小但是速度越慢。4.总结本文简单尝试了一下.NET11支持进行Zstandard压缩的新特性当前.NET11已经进入Release Candidate 2阶段需要继续学习一下新特性。本文如果哪里有错误麻烦告之谢谢谢谢