
PicoServer 是 .NET 生态的轻量级 Web 能力胶水库。零依赖,无需 IIS 或 Kestrel,涵盖 Web API、WebSocket 实时通信、Web 站点构建/静态文件托管等功能场景。零配置,一行代码实现 WebAPI ,不绑架业务。既能轻松扩展现有程序,也能基于它开发独立应用。
PicoServer官方文档 有 C# 与 VB.NET 完整使用示例、集成案例、以及基于日常开发环境的性能测试报告,而非特定优化条件下的极限数据。
一、产品核心定位
PicoServer 是一款基于 .NET Standard 2.0 构建的 轻量级高性能跨平台 Web 能力胶水库。
核心概念:.NET 应用 + PicoServer = 拥有 Web 能力的应用
核心主张:库适应业务,而非业务适应框架
兼容定位:包容过去,更面向未来。
二、设计哲学:简单好用
开发 PicoServer 的原始动机——给自己做项目开发 WebAPI 用。这种“实用架构”的本能,产出了五项核心原则:
| 原则 | 内涵 | 工程体现 |
|---|---|---|
| 极简路径 | 从网络请求到业务方法,路径最短 | 监听→路由→方法,三跳直达 |
| 零侵入集成 | 不绑架架构,不强制规范 | 单 DLL(~50 KB),几行代码嵌入 |
| 开箱即用 | 拿来就干,无需理解整个体系 | 无 Builder 模式,一个方法激活一个能力 |
| 默认安全 | 不配错也安全 | 防目录遍历、隐藏文件保护、JWT 自动验过期 |
| 全异步架构 | 从第一行代码即为 async/await | 无阻塞线程,天然匹配 io_uring、异步 V2 |
一行代码实现WebAPI
var app = new WebAPIServer();
app.MapGet("/", (req, rsp) => rsp.WriteAsync("Hello PicoServer"));
app.StartServer();
三、核心技术能力
3.1 “三板斧”核心模块
| 模块 | 功能 | 关键特性 |
|---|---|---|
| 路由映射 | 业务入口层 | 精准/通配符/RESTful/语义化/特性路由 |
| 中间件扩展 | 前置控制层 | AddMiddleware 完全开放,按需注册,无隐式中间件 |
| 内置安全 | 基础保障层 | Token/JWT/国密 SM3 鉴权、防目录遍历、Cookie HttpOnly |
3.2 全场景能力矩阵
同一端口、同一进程,同时提供三种基础 Web 能力:
- WebAPI:全 HTTP 方法、参数自动解析、JSON/表单/流式响应
- WebSocket:双向通信、心跳检测、连接数管控、广播/定向推送
- 静态文件托管:缓存策略、MIME 识别、跨域配置、SPA 支持
更多能力:SSE 服务端推送、大文件流式上传下载(断点续传)、流媒体直播推送、库内置 WebSocket 服务端/客户端
3.3 双语言平权
C# 与 VB.NET 均提供从基础路由到高级中间件的 完整文档与示例代码
四、性能矩阵
4.1 实测数据(笔记本电池供电、平衡模式、零调优)
| 测试场景 | 并发 | QPS | P99 延迟 | 错误率 |
|---|---|---|---|---|
| 短连接压力 | 100 | 55,117 | 5.3ms | 0% |
| 短连接稳定 | 50/15s | 69,487 | 1.9ms | 0% |
| WebSocket 长连接 | 10,000 | 服务端 398MB / 客户端 172MB | 无卡顿 | 0 丢失 |
4.2 多环境性能画像
| 部署场景 | 条件 | QPS |
|---|---|---|
| Linux 云服务器 2+2 | Debian 12/.NET 10/零调优 | ~2 万 |
| i3 10 代入门电脑 | Windows 10/.NET 10/零调优 | ~1.8 万 |
4.3 资源效率对比
| 维度 | PicoServer | ASP.NET Core |
|---|---|---|
| 控制测试程序内存 | ~16 MB | ~100 MB+ |
| 交付体积 | 几十 KB | 百 MB 级运行时 |
| .NET FX 兼容 | 4.6.1+ | 不支持 |
| 框架内核开销 | 几乎为零 | 宿主/DI/管道/端点/元数据 |
4.4 测试方法论独特性
PicoServer 是同类产品中公开完整性能测试数据的项目:
- 测试环境:开发笔记本、电池供电、平衡模式
- 测试状态:开箱即用、零调优
- 数据可复现:任何开发者用同样硬件可复现类似结果
性能基准——“开发者基准”,与传统的“工业基准”(服务器硬件+专家调优+数据中心)形成互补。
五、.NET 生态的补位
PicoServer 是 .NET 生态中唯一同时满足以下所有条件的 Web 能力产品:
- 基于 .NET Standard 2.0,兼容 .NET Framework 4.6.1+ 至 .NET 10/11 + 全系列
- 单 DLL 几十 KB、零第三方依赖、零侵入集成
- 同时具备 WebAPI + WebSocket + 静态文件托管,同端口同进程
- 全异步架构,支持 AOT
- 持续迭代维护,拥有国家计算机软件著作权,可免费商用
- 原生支持国密 SM3 算法,适配信创全栈
- C# / VB.NET 双语言完整支持
- 公开可验证的“开发者基准”性能数据
六、性能红利
PicoServer 站在巨人肩膀上,超薄架构,不堆叠:
- 极短路径:监听→路由→方法,三跳直达
- 无隐式中间件:PicoServer不为每个请求预设任何内置中间件,按需添加
- 无包装对象:直接操作
HttpListenerRequest/Response,零额外分配 - 全异步 IO:无阻塞线程,天然匹配 io_uring 和异步 V2,把系统资源留给业务
- 过去和未来:既包容过去
Framework更拥抱未来.NET。不改代码,自动享受性能红利
因为框架层没有堆积冗余抽象,JIT 优化、io_uring、异步 V2 等运行时红利能被更完整地转化为实际吞吐提升。
七、最佳适配场景
| 场景 | 推荐度 | 核心价值 |
|---|---|---|
| .NET 存量系统 Web 化改造 | ★★★★★ | 零侵入、不改原有代码、C# / VB.NET 支持 |
| 工业自动化/边缘计算 | ★★★★★ | 极低 CPU 和内存、WebAPI、WebSocket、Web网页托管,可用于嵌入式 Linux |
| 桌面应用 Web 化嵌入 | ★★★★★ | 单 DLL 嵌入、MAUI 有 MVP 实践 |
| 国产化信创适配 | ★★★★★ | 国密 SM3 签名、密码储存、著作权合规 |
| 企业内网轻量服务 | ★★★★★ | 单 exe 部署、零运维成本 |
| 新项目快速原型 | ★★★★★ | 极简起步,不绑死用户,支持平滑迁移至 ASP.NET Core |
| 云原生轻量服务 | ★★★★★ | 支持 AOT 毫秒级启动、高密度部署、多实例 |
八、总结
PicoServer 根植于一个朴素的起点:为了做项目。不需要的不加、会添乱的不做、让自己慢的不留。PicoServer 架构极简但性能强劲、功能收敛,做功能不做业务,但通过内置和自定义中间件扩展无限可能。
它不与 ASP.NET Core 争夺“全栈框架”的地位,而是补位 .NET 生态中被长期忽视的空白:让存量系统开口说话,让新项目轻装上路,让任何 .NET 应用都能成为自己的 Web 服务器。
它的性能上限,随 .NET 运行时的每一次进化而自然增长——这不是刻意追求,而是极简架构的自然馈赠。
包容过去,更面向未来。
Web 连接万物“PicoServer 负责连接,你负责创造”
PicoServer 官网: https://picoserver.cn/
PicoServer 文档: https://docs.picoserver.cn/
PicoServer C# 示例:
PicoServer VB.NET 示例:
PicoServer MAUI 系列教程: https://www.cnblogs.com/densen2014/p/19670899
PicoServer 开发者基准测试: https://docs.picoserver.cn/benchmark.html
