CodeWF.EventBus.Socket
dotnet9
概览 更新日志 GitHub · 源码与 Issue ↗

更新日志

CodeWF.EventBus.Socket · 跨进程 TCP 事件总线(IPC)

来源仓库文件 UpdateLog.md · 同步于 2026-10-01

1.5.0 1.5.0 (2026-10-01)
  • 🚀[新增]-服务端离线消息补发:客户端断线期间,其订阅主题的广播进入服务端有界缓冲(按客户端 ClientId + 主题隔离),重连并重新订阅成功后按原顺序补发,不再丢失断线窗口内的消息(issue #1)。
  • 🚀[新增]-客户端握手携带实例级 ClientId,服务端据此识别重连(同一标识的僵尸旧连接会被主动移除);旧版本客户端不携带该字段时行为不变。
  • 🚀[新增]-服务端空闲连接扫描:超过 ClientIdleTimeout 未收到任何命令(含心跳)的连接被主动下线并转入离线缓冲,避免客户端静默断开后死连接与订阅长期滞留。
  • 🔧[新增]-EventBusOptions 新增 EnableOfflineMessage(默认开启)、OfflineMessageCapacity(每客户端每主题缓冲上限,默认 1024,超出丢弃最旧)、OfflineMessageRetention(离线缓冲保留时长,默认 30 分钟)、ClientIdleTimeout(空闲下线阈值,默认 30 秒)。
  • ✅[测试]-新增离线补发集成测试:断线补发与顺序、缓冲容量上限(丢弃最旧)、功能关闭时不补发。
1.4.4.2 1.4.4.2 (2026-09-22)
  • Hardened client and server lifecycle handling, cancellation, reconnect recovery, authentication, validation, queue limits, and disposal.
  • Added regression coverage for reconnect subscription recovery, concurrent subscriptions, authentication failures, input limits, and query cancellation.
  • Updated build metadata, dependency pins, runtime documentation, and CI coverage.
1.3.4 1.3.4 (2026-09-20)
  • 🚀[新增]-NuGet 包统一支持 net8.0;net10.0;net11.0,并发布新版本。
1.3.2 1.3.2 (2026-07-23)
  • 🔧[修复]-升级 CodeWF.NetWrapper 到 3.0.5 并重新编译发布包,避免下游程序混用新旧日志程序集时发生方法缺失异常。
  • 🔨[优化]-事件总线 Demo 补齐日志组件初始化和关闭生命周期。
1.3.0 1.3.0 (2026-06-24)
  • 🔨[优化]-升级 CodeWF.NetWrapper 依赖到 3.0.0,事件总线主消息路径改为使用 TcpSocketClient.RegisterCommandHandler / TcpSocketServer.RegisterCommandHandler 实例处理器。
  • 🔨[优化]-移除普通 SocketCommand 对 CodeWF.EventBus.Default 的全局订阅与端点过滤逻辑,降低多客户端、多服务端实例下的维护复杂度;客户端断线错误仍兼容 TcpClientErrorCommand 处理。
  • 🔨[优化]-保持 IEventClient、IEventServer、发布订阅、查询响应和心跳行为不变,改造只影响内部传输接入方式。
1.2.6 1.2.6 (2026-06-08)
  • 🎨[优化]-重新收敛根目录 logo.svg、logo.png、logo.ico,改为更简洁的 Socket 总线与中心端口图形,提升任务栏、浏览器标签和 NuGet 小图标辨识度。
  • 🔨[优化]-调整 pack.bat 的 NuGet 包输出目录为 artifacts\packages,与常见 .NET 开源仓库产物目录保持一致。
1.2.5 1.2.5 (2026-06-08)
  • 🎨[优化]-重新设计根目录 logo.svg、logo.png、logo.ico,以简洁的 C# / TCP Socket 连接和中心事件总线节点表达集成事件总线定位,并保持小尺寸图标可辨识。
1.2.4 1.2.4 (2026-06-08)
  • 🔨[优化]-新增根目录 pack.bat 一键打包脚本,统一还原、Release 构建与 NuGet 包输出流程,并自动兼容本机兄弟仓库的 CodeWF.NetWeaver 本地包源。
1.2.3 1.2.3 (2026-06-08)
  • 🔨[优化]-补齐根目录 logo.svg、logo.png、logo.ico 三件套,子工程通过 MSBuild Link 引用根 logo,避免维护多份图标副本。
  • 🔨[优化]-统一目标框架:NuGet 包项目支持 net8.0;net10.0,Demo、App、测试与内部应用项目升级到 net11.0 / net11.0-windows。
  • 🔨[优化]-将 CodeWF.NetWrapper 依赖更新到 2.1.2.3,使 Socket 包的 net8.0 资产可以正常还原。
  • 🔨[优化]-保留运行时帮助、Markdown 示例、内置备忘录和业务设计文档,仅收敛仓库级重复文档入口。
1.2.2 1.2.2 (2026-06-08)
  • 统一版本号维护入口,只在仓库根目录 Directory.Build.props 中定义 <Version>。
  • 清理英文/双语文档入口,后续仅维护简体中文文档。
  • 完善 NuGet 发布配置,补充 Source Link、符号包和标签格式规范。
2026-06-08 仓库规范整理
  • 统一文档维护入口:每个仓库只保留根目录 README.md 和根目录 UpdateLog.md,清理重复日志、英文文档和语言切换入口。
  • 统一版本维护入口:包版本只在仓库根目录 Directory.Build.props 的 <Version> 节点维护,移除散落的程序集版本配置。
  • 不再维护 global.json,SDK 选择交给本机或 CI 环境;NuGet 包和应用的目标框架在项目文件中明确声明。
  • 统一 NuGet 包文档入口:包 README 统一引用仓库根 README.md,更新日志统一引用仓库根 UpdateLog.md。