.NET 11 - ASP.NET Core 支持使用Zstandard进行压缩和解压缩
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阶段需要继续学习一下新特性。本文如果哪里有错误麻烦告之谢谢谢谢

相关新闻

(论文速读)PAConv:通过动态卷积核组装实现点云位置自适应卷积

(论文速读)PAConv:通过动态卷积核组装实现点云位置自适应卷积

论文题目: PAConv: Position Adaptive Convolution with Dynamic Kernel Assembling on Point Clouds(PAConv:面向点云的动态卷积核组装位置自适应卷积) 会议: CVPR 2021 摘要: 本文提出位置自适应卷积&am…

2026/10/17 6:51:00 阅读更多 →
EMUI8开机执行sh脚本:修改ramdisk与init.rc的完整指南

EMUI8开机执行sh脚本:修改ramdisk与init.rc的完整指南

做 Android 系统定制的人,应该都碰到过这类需求:手上的设备跑的是 EMUI8(某厂商基于 Android 8.x 开源系统深度定制的 ROM),希望在设备每次开机时自动执行一段 sh 脚本。可能是要调整内核参数、挂载额外分区、拉一个本…

2026/10/17 6:51:00 阅读更多 →
使用ftrace 定位显示卡顿问题分析

使用ftrace 定位显示卡顿问题分析

问题背景:在3OS 虚拟化平台下,在安卓系统中(其中一个guest OS),优盘拔掉的时候, 显示界面卡顿。异常情况下:当前usb 的hub event work 在worker0:4 上面runing 状态,此时gpu的work无…

2026/10/18 9:58:55 阅读更多 →

最新新闻

VGG骨干+轻量时序注意力:视频理解模型设计实战拆解

VGG骨干+轻量时序注意力:视频理解模型设计实战拆解

做视频理解绕不开一个老问题:怎么在空间特征之上合理地建模时间关系。这个“VGG改进”系列我写了几十篇,大部分都集中在图像场景、网络剪枝和重参数化上,直到第23篇我才正式把方向切到视频。今天这篇就用一个实战设计笔记的方式,完…

2026/10/18 9:58:37 阅读更多 →
基于Canvas与React的轻量级创意合成工具artcraft开发实践

基于Canvas与React的轻量级创意合成工具artcraft开发实践

1. 项目缘起与整体设计思路1.1 为什么会有 artcraft 这个想法做创意工具这些年,我最大的感受是:市面上大多数所谓“创作辅助平台”,要么是给专业设计师用的重型武器,功能全但上手门槛高得离谱;要么是给小白玩的轻量玩具…

2026/10/18 9:58:37 阅读更多 →
MATLAB交通标志检测:BP网络+HOG+PCA的毕设落地方案

MATLAB交通标志检测:BP网络+HOG+PCA的毕设落地方案

简介:本资源是一套基于MATLAB的交通路标检测与识别实战项目,面向机器视觉与深度学习初学者及高校课程设计者,聚焦智能交通场景下的图像识别核心任务。项目完整覆盖图像预处理、CNN特征提取、BP神经网络建模、多类路标(禁止/警示/指…

2026/10/18 9:58:37 阅读更多 →
基于人工势场法与MPC的自动驾驶换道避撞技术解析

基于人工势场法与MPC的自动驾驶换道避撞技术解析

高速巡航时前车突然急刹,留给你的反应时间往往不到一秒。这个场景里藏着一个很有趣的问题:系统是该选择全力制动,还是观察相邻车道、迅速打方向避开?答案是“看情况”,而这个“看情况”的背后,就是换道避撞…

2026/10/18 9:58:37 阅读更多 →
VLAN综合实验深度解析:广播域隔离与跨交换机通信全流程

VLAN综合实验深度解析:广播域隔离与跨交换机通信全流程

我帮一家做电商代运营的小公司调试网络时,遇到过一件挺折腾的事:办公区明明只有四十多台电脑,可一到下午订单高峰期,整个办公室的网络就卡成幻灯片,打印机能连上却经常丢任务,连财务那边访问服务器都时不时…

2026/10/18 9:58:37 阅读更多 →
在线考试系统的Java后端设计:并发、判分与数据一致性避坑指南

在线考试系统的Java后端设计:并发、判分与数据一致性避坑指南

简介:一套面向Java学习者和毕业设计开发的在线考试管理系统完整交付包,涵盖源代码、论文、开题报告、外文翻译、英文文献与答辩PPT,适合快速搭建在线考试项目或完成课程设计、毕业设计汇报。系统覆盖题库管理、考试安排、在线答题、自动评分和…

2026/10/18 9:57:37 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →