NewLife.Remoting 3.7.2026.201

dotnet add package NewLife.Remoting --version 3.7.2026.201
                    
NuGet\Install-Package NewLife.Remoting -Version 3.7.2026.201
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="NewLife.Remoting" Version="3.7.2026.201" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NewLife.Remoting" Version="3.7.2026.201" />
                    
Directory.Packages.props
<PackageReference Include="NewLife.Remoting" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add NewLife.Remoting --version 3.7.2026.201
                    
#r "nuget: NewLife.Remoting, 3.7.2026.201"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package NewLife.Remoting@3.7.2026.201
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=NewLife.Remoting&version=3.7.2026.201
                    
Install as a Cake Addin
#tool nuget:?package=NewLife.Remoting&version=3.7.2026.201
                    
Install as a Cake Tool

NewLife.Remoting - 统一高性能远程通信框架 (RPC + HTTP + WebSocket + SRMP)

GitHub top language GitHub License Nuget Downloads Nuget Nuget (with prereleases)

Nuget Downloads Nuget Nuget (with prereleases)

简单、统一、可扩展、跨多目标框架 (net45 ~ net9.0) 的远程通信基础设施。单一生态内同时覆盖:

  • 二进制高性能 RPC (长连接 / 主动下发 / 海量连接与吞吐)
  • 标准 HTTP / REST (易集群 / 生态丰富 / 负载均衡)
  • WebSocket 指令下发与事件推送
  • SRMP (Simple Remote Message Protocol) 远程消息协议
  • 统一应用客户端基类 ClientBase(登录 / 心跳 / 升级 / 指令 / 事件)

源码:https://github.com/NewLifeX/NewLife.Remoting
NuGet:NewLife.Remoting / NewLife.Remoting.Extensions


目录导航


核心特性

  1. 双架构:同一套模型同时支持【高性能二进制 RPC】与【标准 HTTP/REST】
  2. 海量连接:单机典型 1 万 TCP 长连接,实验峰值 400 万;吞吐典型 10 万 TPS,实验峰值 2266 万 TPS(依赖 NewLife.Net 内核)
  3. 零第三方重依赖:日志 / 序列化 / 网络栈 / 对象池 均为自研生态,可控可裁剪
  4. 可观测性:内置性能统计、慢调用跟踪、分布式追踪接口 (ITracer)
  5. 统一客户端生命周期:登录、心跳、升级、指令、事件上报 一站式封装
  6. SRMP 协议:Header + Body 简洁帧格式,支持粘拆包、双向消息、OneWay、Reply 标识
  7. 安全:令牌颁发 + 可插拔密码/签名提供者 + Token 续期策略
  8. WebSocket 通道:HTTP 架构下的实时指令下发与推送
  9. 控制器模型:与 WebApi 类似的 Controller/Action 调用体验(ApiServer / ApiController)
  10. 扩展组建:NewLife.Remoting.Extensions 提供 ASP.NET Core 设备接入基类、令牌服务、会话管理、模型绑定器

架构概览

          +-------------------+                     +--------------------+
          |  客户端 ClientBase |                     |  服务端 ApiServer   |
          |  (ApiClient/HTTP) |  <--- SRMP/TCP --->  |  控制器/Handler     |
          +---------+---------+                     +----+-----------+----+
                    | HTTP/REST 负载均衡                  | 注册服务/依赖注入
                    v                                   v
          +-------------------+   WebSocket   +--------------------------+
          | ApiHttpClient     |<------------->|  BaseDeviceController    |
          +-------------------+  指令/事件     +-----------+--------------+
                                                     | TokenService
                                                     | SessionManager
                                                     v
                                              +---------------+
                                              | 业务/存储/缓存 |
                                              +---------------+
  • RPC:长连接 / 二进制 / 低开销 / 服务端可主动推送
  • HTTP:标准化 / 容易接入网关 / 每次独立认证 / WebSocket 下发指令
  • 二者共享:登录模型、心跳语义、令牌机制、序列化策略、事件与指令抽象

适用场景对比

维度 RPC 架构 HTTP 架构
连接模型 长连接 (TCP/UDP) 短连接 + 可选 WebSocket
吞吐/延迟 极致性能/低延迟 受 HTTP 栈 & 负载均衡影响
推送能力 服务端直接下发 需 WebSocket 通道
负载均衡 客户端挑选一个节点保持 请求级(云原生友好)
二进制大包 友好(自定义序列化) 不适合(默认 JSON)
接入复杂度 需要 SDK/协议 任意 HTTP 客户端即可
典型场景 任务调度、物联网网关、工业采集 设备管理平台、通用 REST、混合接入

快速开始

安装模板(推荐)

dotnet new install NewLife.Templates

RPC 服务端最小示例

dotnet new rpcserver --name RpcServer
cd RpcServer
dotnet run

核心代码(示意):

var server = new ApiServer(12345);
server.Register(new MyController(), null); // 暴露控制器全部 Action
server.Start();

public class MyController : ApiController
{
    public String Ping(String name) => $"Hello {name}, {DateTime.Now:HH:mm:ss}";
}

RPC 客户端调用示例

var client = new ApiClient("tcp://127.0.0.1:12345");
await client.OpenAsync();
var rs = await client.InvokeAsync<String>("My/Ping", new { name = "dev" });
Console.WriteLine(rs);

HTTP + WebSocket 设备接入

Program.cs 中:

builder.Services.AddRemoting();
var app = builder.Build();
app.UseRemoting();
app.MapControllers();
app.Run();

public class DeviceController : BaseDeviceController
{
    public DeviceController(IServiceProvider p) : base(p) { }
}

客户端使用 ApiHttpClient 登录 + 周期 Ping,服务端可通过 WebSocket 通道下发指令。


统一客户端 ClientBase 能力

ClientBase 抽象了设备 / 节点 / 应用常见生命周期:

  • 登录:多种模式(应用 AppId/AppSecret、设备 Code/Secret、OAuth)
  • 心跳:带服务器时间、令牌续期、保持在线状态
  • 升级:统一 Upgrade 查询,返回版本与下载地址(自动补全绝对路径)
  • 指令:RPC 直接下发;HTTP 通过 WebSocket 推送;客户端统一 CommandReply 回执
  • 事件:批量上报 EventModel[]
  • 安全:内置时间戳 + 签名/令牌 验证流程

SRMP 协议简介

SRMP (Simple Remote Message Protocol):

  • 面向消息的远程调用与推送协议
  • 支持标志位:OneWay / Reply / Flag 扩展
  • 设计目标:比 HTTP 更低的开销;比原始 TCP 更易解析与调试
  • 在 ApiNetServer 中通过 WebSocketServerCodec + 标准消息编解码器组合使用 详见:Doc/SRMP.MD

性能指标

指标 典型值 实验峰值 说明
TCP 长连接数 10,000 4,000,000 依赖内核与系统参数调优
RPC 吞吐 100,000 TPS 22,660,000 TPS 简单回显场景,基于 NewLife.Net
HTTP 并发连接 1,000 (可水平扩展) 受 Kestrel/网关限制
心跳开销 微秒级 - 轻量协议 + 对象池复用

建议结合实际业务压测,关注序列化体积与对象分配。


认证与安全

  • 登录:设备 / 应用 / OAuth 三模式;成功返回访问令牌 + 过期时间
  • 令牌续期:心跳内置检测,10 分钟内到期可自动刷新(可扩展策略)
  • 密钥保护:SaltPasswordProvider(可替换)避免明文密钥直接传输
  • 会话管理:SessionManager(WebSocket 长连接登记、关闭释放)
  • 异常:统一 ApiException + ApiCode,避免泄漏内部实现细节

扩展与二次开发

可扩展点:

  1. 自定义序列化:实现 IJsonHost / 二进制编码器替换 Encoder
  2. 自定义认证:替换 TokenService 或 IPasswordProvider
  3. 控制器解析:通过 ApiServer.Register(controller, method)
  4. 消息拦截:订阅 ApiServer.Received 统一埋点 / 鉴权 / 限流
  5. 协议扩展:在 ApiNetServer.Init 中追加自定义 Codec
  6. 事件与指令:实现 IDeviceService / 使用 CommandReply & PostEvents
  7. 日志与追踪:注入 ILog / ITracer,实现链路关联

与其它 NewLife 组件协同

组件 协同价值
NewLife.Core 日志、配置、序列化、对象池、TimerX、性能追踪
NewLife.Net 高性能网络栈、WebSocket/编码器、端口复用
NewLife.Redis 分布式缓存 / 消息队列,扩展会话共享或推送 fanout
Stardust 节点注册、配置中心、APM、发布中心;可托管 ApiServer 节点
AntJob 使用 ClientBase 接入任务调度与分布式计算
NewLife.MQTT / Modbus / IoT 设备层协议采集后通过 Remoting 上行

多目标框架兼容策略

  • 支持:net45 / net461 / netstandard2.0 / netstandard2.1 / net5.0~net9.0
  • 通过条件编译隔离新旧 API(Span / ValueTask / Socket 特性等)
  • 遵循:不主动移除旧 TFM;新增功能优先判断可用性再启用

项目生态矩阵

完整生态与说明见下方 新生命项目矩阵。Remoting 作为“通信基座”横向衔接 网关设备接入 / 调度平台 / 分布式服务治理 / IoT 协议栈。


贡献与反馈

欢迎:Bug 反馈 / 性能优化 PR / 新协议编解码 / 控制器示例 / 文档补充。
提交前请阅读 .github/copilot-instructions.md 了解编码规范 & Multi‑TFM 原则。
Issue 讨论请尽量提供:运行环境、目标框架、最小可复现代码、日志摘要。


快速命令回顾

# 安装模板
dotnet new install NewLife.Templates
# 创建 RPC 服务端骨架
dotnet new rpcserver --name RpcServer
# 运行
dotnet run

新生命项目矩阵

各项目默认支持 net9.0/netstandard2.1/netstandard2.0/net4.62/net4.5,旧版(2024.0801)支持 net4.0/net2.0

项目 年份 说明
NewLife.Core 2002 核心库,日志、配置、缓存、网络、序列化、APM性能追踪
NewLife.XCode 2005 大数据中间件,单表百亿级,自动分表,读写分离
NewLife.Net 2005 网络库,2266万 tps / 百万连接
NewLife.Remoting 2011 本项目,双协议通信框架
NewLife.Cube 2010 快速开发平台,权限 / OAuth / SSO
NewLife.Agent 2008 服务安装 / 守护进程 / Systemd
NewLife.Zero 2020 项目脚手架模板集合
NewLife.Redis 2017 高性能 Redis 客户端/消息队列
NewLife.RocketMQ 2018 纯托管 RocketMQ 客户端
NewLife.MQTT 2019 物联网 MqttClient/MqttServer
NewLife.IoT 2022 IoT 通信标准模型库
NewLife.Modbus 2022 Modbus 协议族
NewLife.Siemens 2022 西门子 PLC 通信
NewLife.Map 2022 地图聚合组件
NewLife.Audio 2023 音频编解码
Stardust 2018 分布式服务平台 (注册/配置/APM/发布)
AntJob 2019 分布式大数据计算平台
等等 - 更多参见官网

团队与版权

XCode

新生命团队(NewLife)成立于 2002 年,80+ 开源项目,NuGet 累计下载 400+ 万。全部项目采用 MIT 协议,可自由修改再发行(无需声明来源)。
网站:https://newlifex.com
开源:https://github.com/NewLifeX
QQ群:1600800 / 1600838

新生命团队始于2002年,部分开源项目具有20年以上历史,源码库保留2010年以来全部记录。

微信公众号:
智能大石头


变更记录

请关注 Release / Tag 说明或提交历史。后续可引入 CHANGELOG 简述关键性能与兼容性变更。


License

MIT © NewLife. 欢迎商用与二次开发。

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net45 is compatible.  net451 was computed.  net452 was computed.  net46 was computed.  net461 is compatible.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (7)

Showing the top 5 NuGet packages that depend on NewLife.Remoting:

Package Downloads
NewLife.Stardust

星尘,分布式服务框架。节点管理,监控中心,配置中心,发布中心,注册中心

NewLife.MQTT

流行的物联网通信协议MQTT,包括客户端、服务端

NewLife.Net

网络通讯基础框架及各种协议实现。

NewLife.AntJob

分布式任务调度系统,纯NET打造的重量级大数据实时计算平台,万亿级调度经验积累。

NewLife.Remoting.Extensions

提供WebApi应用级服务端

GitHub repositories (6)

Showing the top 6 popular GitHub repositories that depend on NewLife.Remoting:

Repository Stars
NewLifeX/X
Core basic components: log (file / network), configuration (XML / JSON / HTTP), cache (memory / redis), network (TCP / UDP / HTTP), RPC framework, serialization (binary / XML / JSON), APM performance tracking. 核心基础组件,日志(文件/网络)、配置(XML/Json/Http)、缓存(内存/Redis)、网络(Tcp/Udp/Http)、RPC框架、序列化(Binary/XML/Json)、APM性能追踪。
NewLifeX/AntJob
高吞吐 .NET 分布式任务与实时数据调度平台:时间/数据/消息/Cron/SQL/脚本切片,自动重试与弹性扩缩,回溯补算 + Web 控制台。High‑throughput .NET distributed job & real‑time scheduler with fine‑grained slicing, retries, elastic scaling & web console.
NewLifeX/Stardust
星尘,轻量级分布式服务框架。配置中心、集群管理、远程自动发布、服务治理。服务自动注册和发现,负载均衡,动态伸缩,故障转移,性能监控。
NewLifeX/XCoder
新生命码神工具,代码生成、网络工具、API工具、串口工具、正则工具、图标工具、加解密工具、地图接口。
NewLifeX/NewLife.Net
单机吞吐2266万tps的网络通信框架
NewLifeX/NewLife.MQTT
最流行的物联网通信协议MQTT,包括客户端、服务端和Web管理平台
Version Downloads Last Updated
3.7.2026.201 826 2/1/2026
3.7.2026.201-beta0243 99 2/1/2026
3.7.2026.125-beta1509 289 1/25/2026
3.7.2026.125-beta0150 345 1/25/2026
3.7.2026.112-beta0604 1,208 1/12/2026
3.7.2026.111-beta1518 178 1/11/2026
3.7.2026.110-beta1630 127 1/10/2026
3.7.2026.108-beta1612 217 1/8/2026
3.7.2026.102 1,451 1/2/2026
3.7.2026.102-beta1547 108 1/2/2026
3.6.2025.1231-beta0314 186 12/31/2025
3.6.2025.1230-beta0418 117 12/30/2025
3.6.2025.1230-beta0002 115 12/30/2025
3.6.2025.1226-beta0712 352 12/26/2025
3.6.2025.1226-beta0602 186 12/26/2025
3.6.2025.1220-beta0622 323 12/20/2025
3.6.2025.1218-beta0318 289 12/18/2025
3.6.2025.1214-beta1229 711 12/14/2025
3.6.2025.1213-beta0158 134 12/13/2025
3.6.2025.1212-beta0705 222 12/12/2025
3.6.2025.1204-beta1523 323 12/4/2025
3.6.2025.1203-beta1519 685 12/3/2025
3.6.2025.1112 1,954 11/12/2025
3.5.2025.1106-beta0001 231 11/6/2025
3.5.2025.1105-beta1318 225 11/5/2025
3.5.2025.1105-beta0602 310 11/5/2025
3.5.2025.1026-beta0602 252 10/26/2025
3.5.2025.1001 2,338 10/1/2025
3.5.2025.1001-beta1720 216 10/1/2025
3.5.2025.921-beta1556 245 9/21/2025
3.5.2025.915-beta1636 384 9/15/2025
3.5.2025.914-beta1424 251 9/14/2025
3.5.2025.903-beta1229 214 9/3/2025
3.5.2025.901 2,197 9/1/2025
3.5.2025.901-beta1137 207 9/1/2025
3.5.2025.901-beta0603 203 9/1/2025
3.5.2025.830-beta1611 314 8/30/2025
3.5.2025.827-beta1704 254 8/27/2025
3.5.2025.826-beta0442 621 8/26/2025
3.5.2025.825-beta2351 236 8/25/2025
3.5.2025.824-beta1236 232 8/24/2025
3.5.2025.822-beta0944 186 8/22/2025
3.5.2025.820-beta1825 206 8/20/2025
3.5.2025.818-beta1634 544 8/18/2025
3.5.2025.812-beta1259 390 8/12/2025
3.4.2025.812-beta1032 210 8/12/2025
3.4.2025.812-beta1003 201 8/12/2025
3.4.2025.808-beta1105 750 8/8/2025
3.4.2025.805-beta1659 293 8/5/2025
3.4.2025.805-beta1531 278 8/5/2025
3.4.2025.801 1,665 8/1/2025
3.4.2025.801-beta0218 166 8/1/2025
3.4.2025.731-beta0004 188 7/31/2025
3.4.2025.722-beta0820 796 7/22/2025
3.4.2025.719-beta0004 128 7/19/2025
3.4.2025.713-beta1545 729 7/13/2025
3.4.2025.713-beta1351 348 7/13/2025
3.4.2025.713-beta1335 210 7/13/2025
3.3.2025.709-beta0306 208 7/9/2025
3.3.2025.701 2,209 7/1/2025
3.3.2025.701-beta0355 218 7/1/2025
3.3.2025.616-beta1415 367 6/16/2025
3.3.2025.610-beta0350 364 6/10/2025
3.3.2025.601 2,429 6/1/2025
3.3.2025.601-beta0800 169 6/1/2025
3.3.2025.527-beta1716 292 5/27/2025
3.3.2025.521-beta1200 538 5/21/2025
3.3.2025.519-beta1620 280 5/19/2025
3.3.2025.515-beta1338 549 5/15/2025
3.3.2025.514-beta0417 295 5/14/2025
3.3.2025.501 2,565 5/1/2025
3.3.2025.501-beta1629 222 5/1/2025
3.3.2025.428-beta0633 237 4/28/2025
3.3.2025.426-beta1312 328 4/26/2025
3.3.2025.417-beta1306 270 4/17/2025
3.3.2025.415-beta1725 253 4/15/2025
3.3.2025.415-beta1203 474 4/15/2025
3.3.2025.415-beta1143 270 4/15/2025
3.3.2025.412-beta0428 212 4/12/2025
3.3.2025.401 6,248 4/1/2025
3.3.2025.401-beta0524 232 4/1/2025
3.3.2025.329-beta1224 184 3/29/2025
3.3.2025.301 1,883 3/1/2025
3.3.2025.301-beta0131 178 3/1/2025
3.3.2025.226-beta0837 281 2/26/2025
3.3.2025.225-beta1354 184 2/25/2025
3.3.2025.225-beta1254 161 2/25/2025
3.3.2025.225-beta0533 174 2/25/2025
3.3.2025.224-beta1623 179 2/24/2025
3.2.2025.224-beta1147 170 2/24/2025
3.2.2025.221-beta0925 179 2/21/2025
3.2.2025.212-beta1257 185 2/12/2025
3.2.2025.207-beta0905 161 2/7/2025
3.2.2025.201 1,726 2/1/2025
3.2.2025.201-beta1615 183 2/1/2025
3.2.2025.109-beta1236 1,736 1/9/2025
3.2.2025.103-beta1513 386 1/3/2025
3.2.2025.101 13,231 1/1/2025
3.2.2025.101-beta0602 189 1/1/2025
3.2.2024.1225-beta1616 325 12/25/2024
3.2.2024.1206 2,204 12/6/2024
3.1.2024.1103-beta0605 163 11/3/2024
3.1.2024.1101 3,566 11/1/2024
3.1.2024.1002 1,707 10/2/2024
3.1.2024.923-beta0435 273 9/23/2024
3.1.2024.914-beta0002 323 9/14/2024
3.1.2024.913-beta0902 186 9/13/2024
3.1.2024.912-beta0006 190 9/12/2024
3.0.2024.902 2,219 9/2/2024
3.0.2024.812-beta0813 308 8/12/2024
3.0.2024.811-beta0608 195 8/11/2024
3.0.2024.806-beta0146 227 8/6/2024
3.0.2024.805 2,733 8/5/2024
3.0.2024.729-beta0815 978 7/29/2024
3.0.2024.710-beta1226 816 7/10/2024
3.0.2024.708 25,517 7/8/2024
3.0.2024.708-beta1003 194 7/8/2024
3.0.2024.703-beta0048 198 7/3/2024
3.0.2024.701 728 7/1/2024
3.0.2024.701-beta0219 176 7/1/2024
3.0.2024.630-beta0606 200 6/30/2024
3.0.2024.628-beta0626 384 6/28/2024
3.0.2024.627-beta1636 399 6/27/2024
3.0.2024.627-beta0009 216 6/27/2024
3.0.2024.626-beta1337 289 6/26/2024
3.0.2024.625-beta1714 299 6/25/2024
3.0.2024.625-beta1600 174 6/25/2024
3.0.2024.625-beta0716 206 6/25/2024
3.0.2024.624-beta1110 400 6/24/2024
3.0.2024.624-beta0627 215 6/24/2024
3.0.2024.624-beta0109 193 6/24/2024
3.0.2024.623-beta0607 306 6/23/2024
3.0.2024.622-beta1613 234 6/22/2024
2.8.2024.428-beta0930 1,208 4/28/2024
2.8.2024.402 14,861 4/2/2024
2.7.2024.202 1,669 2/2/2024
2.7.2024.101 2,234 1/1/2024
2.7.2024.101-beta0500 197 1/1/2024
2.7.2023.1218-beta1127 198 12/18/2023
2.7.2023.1209-beta1634 809 12/9/2023
2.7.2023.1201 2,669 12/1/2023
2.7.2023.1201-beta0310 167 12/1/2023
2.6.2023.1128-beta0013 176 11/28/2023
2.6.2023.1111-beta1140 209 11/11/2023
2.6.2023.1110-beta1323 200 11/10/2023
2.5.2023.1102 3,071 11/2/2023
2.5.2023.1102-beta0640 178 11/2/2023
2.5.2023.1101-beta0904 177 11/1/2023
2.5.2023.1031-beta0703 163 10/31/2023
2.4.2023.1028-beta0057 191 10/28/2023
2.4.2023.1001 4,366 10/1/2023
2.3.2023.907 909 9/7/2023
2.3.2023.903-beta1652 218 9/3/2023
2.3.2023.902-beta1701 344 9/2/2023
2.2.2023.902-beta1549 211 9/2/2023
2.2.2023.814 895 8/14/2023
2.2.2023.814-beta1331 223 8/14/2023
2.2.2023.707 3,569 7/7/2023
2.2.2023.707-beta0102 271 7/7/2023
2.1.2023.705-beta1042 260 7/5/2023
2.1.2023.704-beta0222 236 7/4/2023
2.1.2023.601 3,125 6/1/2023
2.1.2023.601-beta1433 262 6/1/2023
2.1.2023.516-beta0658 1,171 5/16/2023
2.1.2023.512 1,092 5/12/2023
2.1.2023.512-beta1533 254 5/12/2023
2.1.2023.401 3,090 4/1/2023
2.1.2023.401-beta1728 280 4/1/2023
2.1.2023.325-beta0151 528 3/25/2023
2.1.2023.301 3,234 3/1/2023
2.1.2023.301-beta0446 281 3/1/2023
2.0.2023.218-beta0230 557 2/18/2023
2.0.2023.214-beta1534 851 2/14/2023
2.0.2023.203 3,642 2/3/2023
2.0.2023.203-beta1355 262 2/3/2023
2.0.2023.203-beta1201 285 2/3/2023
2.0.2023.101 2,099 1/1/2023
2.0.2023.101-beta0306 293 1/1/2023
2.0.2022.1223-beta0408 1,992 12/23/2022
2.0.2022.1201 2,820 12/1/2022
2.0.2022.1201-beta1441 259 12/1/2022
2.0.2022.1127-beta0246 1,815 11/27/2022
2.0.2022.1109-beta0328 561 11/9/2022
2.0.2022.1101 3,614 11/1/2022
2.0.2022.1101-beta0755 314 11/1/2022
2.0.2022.1004 1,347 10/4/2022
2.0.2022.1004-beta0332 291 10/4/2022
2.0.2022.901 7,384 9/1/2022
2.0.2022.901-beta0405 308 9/1/2022
2.0.2022.813-beta1441 810 8/13/2022
2.0.2022.810-beta0529 418 8/10/2022

ApiServer支持动态端口分配;修正证书密钥赋值错误;优化OAuth异常处理;增强HttpMessage解析兼容性;提升单元测试稳定性