跳到主要内容

v4.0.5

更新日期: 2025.12.28

更新描述:

  • RPC调用上下文重构,优化CancellationToken管理机制。
  • HTTP客户端新增自动重定向功能支持。
  • WebAPI路由增强,支持OPTIONS预检请求处理。
  • DMTP RPC调用上下文性能优化。

更新详情:

TouchSocket.Core

  •   BaseTransport.ClosedToken 属性,当对象已释放时返回已取消的 CancellationToken,避免访问已释放的资源。

TouchSocket

  •   ReconnectionPlugin 重连逻辑,使用链式 CancellationTokenSource 确保连接超时正确应用。

TouchSocket.Http

  •   HttpMethod.Options 静态字段,表示 HTTP OPTIONS 方法。
  •   HttpClient 重定向逻辑。
  •   HttpClientBase.MaximumRedirectCount 常量,定义最大重定向次数为50。
  •   HttpClientBase 添加连接信号量保护,避免并发连接操作。
  •   HttpClientBase.ProtectedRequestAsync 方法支持自动处理HTTP重定向(301、302、303、307、308状态码)。
  •   HTTP客户端重定向时自动处理跨域连接,支持不同主机和端口的重定向。
  •   DefaultHttpServicePlugin 移除OPTIONS请求的CORS相关头部设置,简化响应逻辑。

TouchSocket.Rpc

  •   CallContext 基类,移除内置的 CancellationToken 管理逻辑,将 Token 改为抽象属性。
  •   ICallContext 接口,移除 Cancel() 方法,简化接口契约。
  •   所有RPC调用上下文实现类(DmtpRpcCallContextJsonRpcCallContextBase及其派生类、WebApiCallContextXmlRpcCallContext),由各自实现管理 CancellationToken,使用客户端的 ClosedToken 作为取消令牌。
  •   所有RPC插件和客户端,传递客户端的 ClosedToken 到调用上下文构造函数。

TouchSocket.Dmtp

  •   DmtpRpcActor 使用 Unsafe.As 进行类型转换,提升性能。
  •   DmtpRpcCallContext 析构逻辑,确保 CancellationTokenSource 正确释放。

TouchSocket.JsonRpc

  •   JsonRpcCallContextBase 构造函数,接受 CancellationToken 参数并赋值给 Token 属性。
  •   TcpJsonRpcCallContextHttpJsonRpcCallContextWebSocketJsonRpcCallContext 构造函数,传递 CancellationToken 参数。
  •   TcpJsonRpcParserPluginHttpJsonRpcParserPluginWebSocketJsonRpcParserPlugin 创建调用上下文时传递 client.ClosedToken
  •   TcpJsonRpcClientWebSocketJsonRpcClient 在接收消息时传递 this.ClosedToken 到调用上下文。

TouchSocket.WebApi

  •   RouteMatchStatus.Options 枚举值,表示OPTIONS预检请求。
  •   RouteMatchResult.Options 静态方法,创建OPTIONS请求的路由匹配结果。
  •   InternalWebApiMapping 路由匹配逻辑增强,识别OPTIONS请求并返回允许的HTTP方法列表。
  •   WebApiParserPlugin.ResponseOptionsAsync 方法,处理OPTIONS预检请求,返回204 No Content响应。
  •   WebApiParserPlugin 处理OPTIONS请求,自动返回路由支持的HTTP方法列表。
  •   WebApiCallContext 构造函数,接受 CancellationToken 参数并赋值给 Token 属性。
  •   WebApiParserPlugin 创建调用上下文时传递 client.ClosedToken

TouchSocket.XmlRpc

  •   XmlRpcCallContext 构造函数,接受 CancellationToken 参数并赋值给 Token 属性。
  •   XmlRpcParserPlugin 创建调用上下文时传递 client.ClosedToken

v4.0.4

更新日期: 2025.12.21

更新描述:

  • 兼容性修复及性能优化升级。
  • 新增MQTT WebSocket支持。
  • 重构WebSocket消息处理机制。
  • 新增异步任务安全执行工具方法。

更新详情:

TouchSocket.Core

  •   SegmentedPipe 类,提供基于内存池的高效分段管道读写缓冲区管理,支持单线程同步场景的流式数据处理。
  •   SegmentedPipeWriterSegmentedPipeReader 类,提供管道数据的写入和读取功能。
  •   RoomDependencyObject 类,提供依赖对象的房间级封装。
  •   EasyTask.SafeNewRun 系列方法,在新线程中安全运行异步方法,返回 ResultResult<T>

TouchSocket

  •   SocketAwaitableEventArgs 默认将 RunContinuationsAsynchronously 设置为 true,提升异步延续性能。
  •   TcpCoreReceiveRunContinuationsAsynchronouslySendRunContinuationsAsynchronously 属性。
  •   TcpClientBase.SafetyDispose 方法,在释放时确保先关闭连接再释放信号量,避免资源竞争。
  •   TcpSessionClientBase.CloseAsync 方法,添加信号量保护,避免并发关闭操作。
  •   TcpSessionClientBase.SafetyDispose 方法,在释放时确保先关闭连接再释放信号量。
  •   ReconnectionOption 在重连时添加连接超时机制,默认超时时间为5秒。
  •   ReconnectionOption.ConnectTimeout 属性,用于设置重连时的连接超时时间。

TouchSocket.Http

  •   WebSocketMessage.PayloadSequence 属性,直接访问底层字节序列。
  •   WebSocketMessage.PayloadData 属性,按需合并序列为连续内存。
  •   WebSocketReceiveResult 结构体,替代 IWebSocketReceiveResult 接口,提供更轻量的接收结果封装。
  •   WebSocketClientExtension.SendAsync(ReadOnlySequence<byte>) 扩展方法,支持序列数据的发送,自动处理分段中继帧。
  •   WebSocketClientExtension.PingAsyncWebSocketClientExtension.PongAsync 扩展方法。
  •   WebSocketClientExtension.SendAsync(string)WebSocketClientExtension.SendAsync(ReadOnlyMemory<byte>) 扩展方法。
  •   SetupClientWebSocket 实现 IDependencyClient 接口。
  •   WebSocketMessageCombinator 中继包处理逻辑,增加状态校验,避免无效合并操作。
  •   HttpClient 解析http没有头部信息时会异常bug。
  •   SetupClientWebSocket.WebSocketConnectAsync 方法,添加 SSL 和代理配置支持,增强连接错误处理。
  •   WebSocketMessage 结构体,将负载数据从 ReadOnlyMemory<byte> 改为 ReadOnlySequence<byte>,支持分段数据。
  •   WebSocketMessageCombinator 类,使用 SegmentedBytesWriter 替代 ByteBlock 进行中继包缓存,提升内存使用效率。
  •   IWebSocket.ReadAsync 方法返回类型从 ValueTask<IWebSocketReceiveResult> 改为 ValueTask<WebSocketReceiveResult>
  •   WebSocketClientBase.ReadAsync 方法返回类型从 ValueTask<IWebSocketReceiveResult> 改为 ValueTask<WebSocketReceiveResult>
  •   IWebSocketReceiveResult 接口。
  •   WebSocketClientBasePingAsyncPongAsyncSendAsync(string)SendAsync(ReadOnlyMemory<byte>) 方法。
  •   IWebSocket 接口的 PingAsyncPongAsyncSendAsync(string)SendAsync(ReadOnlyMemory<byte>) 方法。

TouchSocket.JsonRpc

  •   IWebSocketJsonRpcClient 实现 IDependencyClient 接口。
  •   WebSocketJsonRpcClient.ConnectAsync 方法,调用基类 WebSocketConnectAsync 完成连接。

TouchSocket.Mqtt

  •   MqttTcpClient.ConnectAsync 方法,添加信号量保护,避免并发连接操作。
  •   IMqttService 接口,定义 MQTT 服务的基础契约。
  •   IMqttTcpService 接口,继承 IMqttService 接口。
  •   IMqttWebSocketService 接口,继承 IMqttService 接口。
  •   IMqttWebSocketClient 接口,继承 ISetupConfigObjectIMqttClient 接口。
  •   IMqttWebSocketSessionClient 接口,继承 IMqttSessionClient 接口。
  •   MqttWebSocketService 类,实现 IMqttWebSocketService 接口。
  •   MqttWebSocketClient 类,支持基于 WebSocket 的 MQTT 客户端连接。
  •   MqttWebSocketSessionClient 类,支持基于 WebSocket 的 MQTT 会话客户端。
  •   MqttWebSocketFeature 插件,提供 MQTT WebSocket 功能支持。
  •   MqttWebSocketFeatureOption 配置类,支持 URL 路径匹配和连接验证。
  •   MqttWebSocketAdapter 适配器,用于 WebSocket 传输的 MQTT 消息解析。
  •   PluginManagerExtension.UseMqttWebSocket 扩展方法,简化 MQTT WebSocket 插件的注册。
  •   IRegistratorExtension.AddMqttWebSocketService 扩展方法,注册 MQTT WebSocket 服务到容器。
  •   MqttAdapter 类中的注释代码。

TouchSocketPro.Dmtp

  •   TcpDmtpClientFactoryFileTransferExtension 文件传输重试逻辑,将重试判断从 > 改为 >=,确保重试次数符合预期。

v4.0.3

更新日期: 2025.12.13

更新描述:

  • 兼容性修复升级。
  • 新增客户端托管服务支持。
  • WebSocket心跳检查功能增强。

更新详情:

TouchSocket

  •   IServiceBase.StartAsync 方法签名,添加 CancellationToken 参数支持,允许在启动过程中取消操作。
  •   ServiceBase.StartAsync 方法同步添加 CancellationToken 参数。
  •   TcpServiceBase.StartAsyncUdpSessionBase.StartAsyncNamedPipeServiceBase.StartAsync 方法签名统一添加 CancellationToken 参数。
  •   ServiceExtension.StartAsync 扩展方法为 UDP 服务添加 CancellationToken 参数支持。
  •   TouchSocketConfigExtension.BuildClientAsyncBuildServiceAsync 方法添加 CancellationToken 参数。

TouchSocket.AspNetCore

  •   WebSocketDmtpService.StartAsync 方法签名添加 CancellationToken 参数。

TouchSocket.Dmtp

  •   HttpDmtpSessionClientOnTcpClosedOnTcpClosing 事件中,当 DmtpActor 为空时可能导致的空引用异常。
  •   HttpDmtpSessionClient 插件调用,使用强类型方法 RaiseIDmtpClosingPluginAsyncRaiseIDmtpReceivedPluginAsync 直接调用。

TouchSocket.Hosting

  •   ServiceHost.StartAsyncStopAsync 方法传递 CancellationToken 参数到服务对象。
  •   ServiceHost.StopAsync 方法添加 base.StopAsync 调用,确保完整的停止流程。
  •   SetupConfigObjectHostedService 类从 abstract 改为普通类,StopAsync 方法提供默认实现。
  •   ClientHost 托管服务类,支持客户端类型(如 TCP 客户端)的托管服务注册和生命周期管理。
  •   ServiceCollectionExtensions.AddClientHostedService 扩展方法,用于注册客户端托管服务。
  •   ServiceCollectionExtensions.AddSetupConfigObjectHostedService 扩展方法,用于通用配置对象的托管服务注册。
  •   ServiceCollectionExtensions 命名空间引用,从 TouchSocket.Hosting.Sockets.HostService 更正为 TouchSocket.Hosting.HostedServices

TouchSocket.Http

  •   ReconnectionOptionsExtension.UseWebSocketCheckAction 扩展方法,为 WebSocket 客户端提供基于活动时间和 Ping 的智能心跳检查功能。该功能支持三级检查策略:在线状态检查、活动时间检查和主动 Ping 心跳检查,提高连接可靠性。

v4.0.2

更新日期: 2025.12.6

更新描述:

  • 兼容性修复升级。
  • 性能优化与问题修复升级。

更新详情:

TouchSocket.Core

  •   ConsoleAction 移除帮助信息排序逻辑,保持原始顺序。
  •   StringPool 字符串池类,用于高效管理和复用字符串,减少内存分配。

TouchSocket.Http

  •   Http 解析HTTP头部性能,使用栈分配优化小数据解析。
  •   HttpClientBase 移除不必要的 TryComputeLength 调用。
  •   HttpContent 移除 TryComputeLength 方法,简化内容长度处理逻辑。
  •   ReadonlyMemoryHttpContent 预缓存长度字符串,优化性能。

TouchSocket

  •   TcpClientBase SSL连接时 TargetHost 可能为空的问题。
  •   ReconnectionOption 重连逻辑在客户端已释放时继续执行的问题。
  •   TcpServiceBase 优化 Backlog 配置处理逻辑。
  •   TouchSocketConfigExtensionBacklogProperty 默认值从 null 改为 100
  •   TcpListenOption 将所有属性改为 init 访问器,增强不可变性。

TouchSocket.Mqtt

  •   MqttTcpClient 连接失败时未抛出异常的问题,现在会明确报告连接失败原因。
  •   MqttTcpClient 关闭连接时未取消等待池中的所有等待操作。
  •   MqttActor 释放时未取消令牌源和等待池的问题。
  •   MqttConnectMessage (v5) 属性长度字段计算错误的问题。
  •   MqttSubscribeMessage (v5) 订阅选项字节格式错误,现在正确包含 QoS、NoLocal、RetainAsPublished 和 RetainHandling。
  •   ReconnectionOptionsExtension 提供 UseMqttCheckAction 扩展方法,支持基于Ping的MQTT连接健康检查。

v4.0.1

更新日期: 2025.11.30

更新描述:

  • 兼容性修复升级。

更新详情:

TouchSocket.Core

  •   FastBinaryFormatter 序列化器底层实现bug。 Issue

TouchSocket.Http

  •   WebSocketFeatureOptions SetVerifyConnection方法失效的bug。 PR
  •   WebSocketFeatureOptionsSetAutoCloseSetAutoPongSetUrlSetVerifyConnection 等方法不再返回自身实例,链式调用方式已移除,需调整为单独调用。

TouchSocket.Rpc

  •   同步代码生成已废弃:CodeGeneratorFlag 中的 ExtensionSyncInstanceSyncInterfaceSync 标记被标记为 [Obsolete],同步代码生成不再支持,推荐全部使用异步模式。

v4.0.0

更新日期: 2025.11.23

更新描述:

  •   此次更新可能会引入破坏性变更,升级前请务必做好代码备份。代码升级详情请看4.0升级指南
  •   Fast序列化Dmtp组件在运行时无法向下兼容v3.x版本,请保证客户端和服务器同时升级
  •   全系不再支持.NET Framework45,最低支持.NET Framework462及以上版本,直至.NET 10.0
  •   全系不再异步方法同步化,即:不再提供异步方法的同步版本,所有异步方法均需使用await调用。
  •   核心字节流处理系统重构和性能优化
  •   全面重构数据适配器架构,提升数据处理能力
  •   传输层新增多种传输模式支持
  •   WebSocket新增异步读取、分包传输、自定义帧等高级功能
  •   DMTP协议支持多种传输协议的服务器和客户端工厂模式
  •   最高至.NET 10.0框架,享受最新性能改进

更新详情:

TouchSocket.Core

  •   IBytesReaderIByteBlockReader 接口,提供统一的字节读取抽象
  •   IBytesWriterIByteBlockWriter 接口,提供高性能的字节写入能力
  •   ByteBlockStreamReadOnlyStreamWriteOnlyStream 流包装类,增强流操作能力
  •   BytesWriterPipeBytesWriterSegmentedBytesWriter 多种字节写入器实现
  •   WriterAnchor<TWriter> 写入锚点机制,支持位置回溯和数据重写
  •   AsyncExchange<T> 异步数据交换器,提供线程安全的单槽异步交接
  •   ReadLease<T> 读取租约机制,优化资源管理和生命周期控制
  •   IPackageConverter<T> 包转换器接口,统一数据包序列化和反序列化
  •   CustomDataHandlingAdapterGroup<TRequest> 适配器组,支持多适配器组合使用
  •   MultithreadingDataAdapterTester 多线程数据适配器测试器
  •   TcpDataAdapterTesterUdpDataAdapterTester 专用测试器
  •   UdpDataHandlingAdapter UDP数据处理适配器基类
  •   UdpFrameUdpPackage UDP帧和包处理机制
  •   UdpPackageAdapter UDP包适配器,支持大数据分包传输
  •   FastBinaryPrimitiveHelper 快速二进制原生类型处理器
  •   TimeoutTokenSource 类,提供超时令牌管理和异常区分机制
  •   TaskCompletionSourceWithoutInlining<T> 防止延续内联,提升性能
  •   AsyncWaitData<T> 高性能异步等待容器,基于 ValueTask 实现
  •   InternalUtilities 内部工具类,优化队列中间元素移除等操作
  •   EmptyStruct 轻量级空结构体
  •   NullableHelpers 提供安全的空值转换
  •   WaitPool 内部优化使用新的 AsyncWaitData 结构,支持高并发场景
  •   异步操作的取消令牌处理逻辑和内存分配优化

TouchSocket.Http & WebSocket

  •   ContentCompletionStatus 枚举,精确跟踪内容读取状态
  •   HttpReadOnlyMemoryBlockResult 结构,支持零拷贝内存块读取
  •   ProxyAuthenticationException 代理认证异常
  •   ProxyConnectionException 代理连接异常
  •   AuthenticationPlugin 基础认证插件,支持Basic Authentication认证机制
  •   WebSocketFeatureOptions 统一配置类,支持URL路径匹配、自动Pong响应等
  •   ClientHttpResponse 类,支持流式读取和分块传输(Chunked Transfer)
  •   ServerHttpRequestServerHttpResponse 内容处理机制
  •   复杂代理场景的错误处理和状态管理
  •   可配置用户名、密码和认证域的认证系统
  •   WebSocket分包数据传输(Continuation frames)
  •   自定义WebSocket帧(RSV位设置)
  •   多种关闭状态码设置
  •   WebSocket插件接口统一化:IWebSocketHandshakingPluginIWebSocketConnectingPlugin
  •   WebSocket插件接口统一化:IWebSocketHandshakedPluginIWebSocketConnectedPlugin
  •   Ping/Pong心跳机制的可靠性
  •   插件扩展生成器自动化支持

TouchSocket.Sockets

  •   ITransport 核心传输接口,统一读写器和生命周期管理
  •   ITransportReaderITransportWriter 分离读写职责
  •   BaseTransport 抽象基类,提供管道化传输基础设施
  •   TcpTransport TCP传输层实现,支持SSL/TLS加密
  •   StreamTransport 通用流传输层,适配各种流类型
  •   TransportStream 基于管道的流实现
  •   PipeTcpClient 管道化TCP客户端
  •   IPipeTcpClient 接口支持直接管道操作
  •   TcpOperationResult TCP操作结果封装
  •   UdpOperationResult UDP操作结果封装
  •   TransportOption 传输配置类
  •   CheckClearOption 连接检查和清理配置
  •   ReconnectionOptions 重连机制配置增强
  •   SslOption 基础SSL配置
  •   ClientSslOption 客户端SSL配置
  •   ServiceSslOption 服务端SSL配置
  •   BytesReaderEventArgs 字节读取器事件参数
  •   MemoryEventArgs 内存数据事件参数
  •   ConnectionCheckResult 连接检查结果枚举
  •   TcpListenOption TCP监听选项
  •   零拷贝数据传输和内存优化
  •   管道选项、缓冲区大小等精细化配置
  •   证书验证回调、协议版本选择等高级功能
  •   Socket错误处理和状态报告机制
  •   插件事件传递机制和性能

TouchSocket.XmlRpc

  •   XmlRpcOption 统一配置类,支持URL匹配、自定义验证委托等高级配置
  •   AsyncToSyncWarning 特性标记,提供异步转同步警告
  •   代理生成器参数类型规范化:IInvokeOptionInvokeOption
  •   异步方法命名规范
  •   代码生成器的类型安全性

TouchSocket.Dmtp

  •   ChannelDataType 通道数据类型枚举,支持多种通道数据类型
  •   TouchSocketDmtpSourceGenerationContext JSON序列化上下文
  •   SealedDmtpActor 密封演员模式实现
  •   DmtpAdapterSlim 轻量级适配器(注释版本,预留扩展)
  •   DmtpFeatureOption 基础特性配置
  •   DmtpOption 核心DMTP配置选项
  •   DmtpRpcOption RPC配置选项类
  •   DmtpRpcActorExtension 扩展方法集合
  •   DmtpFileTransferOption 文件传输配置
  •   DmtpFileTransferPluginManagerExtension 扩展方法
  •   DmtpRedisOption Redis配置选项
  •   RedisPluginManagerExtension 插件管理扩展
  •   IDmtpConnectingPlugin 连接中插件接口
  •   IDmtpConnectedPlugin 已连接插件接口
  •   TcpDmtpService TCP协议DMTP服务
  •   HttpDmtpService HTTP协议DMTP服务
  •   NamedPipeDmtpService 命名管道DMTP服务
  •   UdpDmtp UDP协议DMTP支持
  •   WebSocketDmtpService WebSocket协议DMTP服务
  •   TcpDmtpClientFactory TCP客户端连接池
  •   HttpDmtpClientFactory HTTP客户端连接池
  •   多种调度器模式:即时、队列、并发、全局队列
  •   序列化选择器配置
  •   文件资源控制器、根路径配置
  •   小文件优化传输策略
  •   字节序列化转换器配置
  •   内存缓存和自定义缓存后端
  •   动态方法生成和插件扩展
  •   元数据、验证等核心类型的AOT编译优化
  •   WebSocket协议的DMTP服务器
  •   HTTP中间件的DMTP服务器
  •   统一容器配置
  •   连接数控制和超时管理
  •   特性插件注册和生命周期管理
  •   协议号自定义分配
  •   DMTP消息处理性能和内存使用
  •   序列化性能和包大小

TouchSocket.JsonRpc

  •   JsonRpcOption 基础配置类,支持序列化器管理
  •   HttpJsonRpcOption HTTP协议专用配置
  •   TcpJsonRpcOption TCP协议专用配置
  •   WebSocketJsonRpcOption WebSocket协议专用配置
  •   TouchSocketSerializerConverter 序列化转换器基础设施
  •   Newtonsoft.Json、System.Text.Json等多种序列化器
  •   自定义序列化格式化器注册和管理
  •   HTTP JsonRpc URL路径匹配和自定义验证
  •   TCP JsonRpc连接验证委托
  •   WebSocket JsonRpc连接上下文验证
  •   不同传输协议的JsonRpc配置接口
  •   AllowJsonRpc委托配置模式

TouchSocket.NamedPipe & TouchSocket.SerialPorts

  •   NamedPipeTransport 基于流传输的命名管道实现
  •   SerialPortTransport 专用串口传输实现
  •   SerialCore 串口核心操作封装
  •   StreamTransport 统一传输层接口
  •   BaseTransport 提供统一的管道化接口
  •   双向通信和异步操作
  •   串口参数配置和异步读写操作

TouchSocket.WebApi & TouchSocket.Mqtt

  •   WebApiOption 统一配置类
  •   WebApiSerializerConverter 序列化转换器
  •   SwaggerOption Swagger配置选项
  •   MQTT协议插件扩展自动生成
  •   JSON序列化器配置和自定义转换器
  •   浏览器自动启动、访问前缀配置
  •   连接、接收、关闭等事件插件
  •   API文档生成和展示功能
  •   插件注册和生命周期管理

TouchSocket.SourceGenerator

  •   UtilsCore 源生成器工具类
  •   EndianType 字节序类型枚举
  •   大端、小端及交换字节序模式
  •   代码生成器基础设施支持

TouchSocketPro.AspNetCore

  •   HttpStreamTransport HTTP流传输实现

重要技术架构改进

  •   统一传输层架构,引入 ITransport 接口统一所有传输协议(TCP、UDP、HTTP、WebSocket、命名管道、串口等)
  •   基于 System.IO.Pipelines 的高性能管道化数据处理
  •   支持零拷贝数据传输,显著降低内存分配和GC压力
  •   统一的SSL/TLS加密支持,可在任意传输层启用加密
  •   全面采用 ValueTask 减少异步操作的内存分配
  •   新增超时控制和取消令牌的统一处理机制
  •   改进异步等待池系统,提升高并发场景性能
  •   支持异步延续防内联,避免线程池饥饿
  •   统一插件接口命名规范和生命周期管理
  •   支持插件扩展代码自动生成,减少样板代码
  •   改进插件事件传递机制,支持更复杂的事件链
  •   新增插件配置选项模式,提供更灵活的插件配置
  •   引入选项模式(Options Pattern),统一各组件配置接口
  •   支持链式配置方法,提升开发体验
  •   新增配置验证和默认值机制
  •   支持运行时配置动态修改

重要变更说明

  •   WebSocket插件接口重命名:IWebSocketHandshakingPluginIWebSocketConnectingPlugin
  •   WebSocket插件接口重命名:IWebSocketHandshakedPluginIWebSocketConnectedPlugin
  •   WebSocket插件方法重命名:OnWebSocketHandshakingOnWebSocketConnecting
  •   WebSocket插件方法重命名:OnWebSocketHandshakedOnWebSocketConnected
  •   WebSocket配置方式调整:从链式调用改为选项配置模式
  •   XmlRpc配置方式调整:使用 SetAllowXmlRpc 替代 SetXmlRpcUrl
  •   重连插件调整:使用泛型版本 UseReconnection<WebSocketClient>() 替代特定方法