解决MySql布尔型新旧版本兼容问题,采用枚举来表示布尔型的数据表。由正向工程赋值
|
# NewLife.Core 功能清单
> 版本:v11.17 | 日期:2026-07-15 | 从代码逆向整理 + 审计
本文档以 Mx-y 编码追踪 NewLife.Core 全部功能点的实现、测试和注释状态。需求定义见[需求文档](/NewLife/X/Blob/dev/Doc/需求文档.md),架构设计见[架构设计](/NewLife/X/Blob/dev/Doc/架构设计.md)。
## 统计
| 指标 | 数值 |
|------|:----:|
| 功能点总数 | 120 |
| 实现完成(✅) | 120 |
| 测试通过(✅) | 117 |
| 测试通过(🟡 环境敏感) | 1 |
| 测试缺失(❌) | 0 |
| 测试不适用(—) | 0 |
| 测试排除(⛔) | 2 |
| 注释完整(✅) | 120 |
| 注释待完善(🟡) | 0 |
---
## M1 基础扩展
| 编码 | 功能 | 实现 | 测试 | 注释 | 说明 |
|------|------|:----:|:----:|:----:|------|
| M1-1 | 类型转换 | ✅ | ✅ | ✅ | `Utility.cs` ToInt/ToBoolean/ToDateTime 等 |
| M1-2 | 字符串扩展 | ✅ | ✅ | ✅ | `StringHelper.cs` |
| M1-3 | 路径扩展 | ✅ | ✅ | ✅ | `PathHelper.cs`,含 PathHelperHashTests |
| M1-4 | 数据扩展 | ✅ | ✅ | ✅ | `IOHelper.cs` |
| M1-5 | 进程扩展 | ✅ | ✅ | ✅ | `ProcessHelper.cs` |
| M1-6 | 运行时信息 | ✅ | ✅ | ✅ | `Runtime.cs` |
| M1-7 | 可销毁基类 | ✅ | ✅ | ✅ | `DisposeBase.cs` |
| M1-8 | 反射扩展 | ✅ | ✅ | ✅ | `Reflect.cs`, `AssemblyX.cs` |
| M1-9 | 拼音库 | ✅ | ✅ | ✅ | `PinYin.cs` |
| M1-10 | 弱引用委托 | ✅ | ✅ | ✅ | `WeakAction.cs` |
| M1-11 | 时间提供者 | ✅ | ✅ | ✅ | `TimeProvider.cs` 跨版本统一时间抽象,低版本 .NET 兼容填充,含 TimeProviderTests |
| M1-12 | 字典数据源 | ✅ | ✅ | ✅ | `IDictionarySource.cs` 对象转名值字典接口,SystemJson 转换器覆盖 |
| M1-13 | 机器信息 | ✅ | ✅ | ✅ | `MachineInfo.cs` 获取操作系统/硬件信息,支持 Windows 和 Linux,含 MachineInfoTests |
## M2 日志与追踪
| 编码 | 功能 | 实现 | 测试 | 注释 | 说明 |
|------|------|:----:|:----:|:----:|------|
| M2-1 | 统一日志接口 | ✅ | ✅ | ✅ | `ILog.cs` |
| M2-2 | 文件日志 | ✅ | ✅ | ✅ | `TextFileLog.cs` |
| M2-3 | 控制台日志 | ✅ | ✅ | ✅ | `ConsoleLog.cs` |
| M2-4 | 网络日志 | ✅ | ✅ | ✅ | `NetworkLog.cs` |
| M2-5 | 组合日志 | ✅ | ✅ | ✅ | `CompositeLog.cs` |
| M2-6 | 链路追踪 | ✅ | ✅ | ✅ | `ITracer.cs` + `DefaultTracer`,有 TracerTests |
| M2-7 | 性能计数器 | ✅ | ✅ | ✅ | `PerfCounter.cs` |
| M2-8 | 日志级别控制 | ✅ | ✅ | ✅ | `LevelLog.cs` |
| M2-9 | 全局日志入口 | ✅ | ✅ | ✅ | `XTrace.cs` |
| M2-10 | ETW 日志监听 | ✅ | ✅ | ✅ | `LogEventListener.cs`,含 LogEventListenerTests |
## M3 定时调度
| 编码 | 功能 | 实现 | 测试 | 注释 | 说明 |
|------|------|:----:|:----:|:----:|------|
| M3-1 | 高级定时器 | ✅ | ✅ | ✅ | `TimerX.cs` |
| M3-2 | Cron 表达式 | ✅ | ✅ | ✅ | `Cron.cs` |
| M3-3 | 定时调度器 | ✅ | ✅ | ✅ | `TimerScheduler.cs` |
| M3-4 | 线程池扩展 | ✅ | ✅ | ✅ | `ThreadPoolX.cs` |
## M4 序列化
| 编码 | 功能 | 实现 | 测试 | 注释 | 说明 |
|------|------|:----:|:----:|:----:|------|
| M4-1 | Span 读取器 | ✅ | ✅ | ✅ | `SpanReader.cs` 零分配高性能二进制流解析器,支持大小端 |
| M4-2 | Span 写入器 | ✅ | ✅ | ✅ | `SpanWriter.cs` 零分配高性能二进制数据写入器,支持大小端 |
| M4-3 | Span 辅助 | ✅ | ✅ | ✅ | `SpanHelper.cs` Span/ReadOnlySpan 扩展方法集 |
| M4-4 | 池化写入器 | ✅ | ✅ | ✅ | `PooledByteBufferWriter.cs` 基于 ArrayPool 的高效缓冲写入器,含 PooledByteBufferWriterTests |
| M4-5 | JSON 序列化 | ✅ | ✅ | ✅ | `Json.cs`,JsonParser + JsonReader 均有测试 |
| M4-6 | XML 序列化 | ✅ | ✅ | ✅ | `Xml.cs`,含 XmlTests + XmlParserTests |
| M4-7 | 二进制序列化 | ✅ | ✅ | ✅ | `Binary.cs` |
| M4-8 | Span 序列化 | ✅ | ✅ | ✅ | `SpanSerializer.cs` |
| M4-9 | CSV 解析 | ✅ | ✅ | ✅ | `CsvFile.cs` |
| M4-10 | CSV 数据库 | ✅ | ✅ | ✅ | `CsvDb.cs` |
| M4-11 | Excel 读取 | ✅ | ✅ | ✅ | `ExcelReader.cs` + `ExcelWriter.cs` |
| M4-12 | 序列化辅助 | ✅ | ✅ | ✅ | `SerialHelper.cs` |
| M4-13 | 类型转换器 | ✅ | ✅ | ✅ | `SafeInt64Converter`/`LocalTimeConverter` 有测试,含 TypeConverterTests |
## M5 配置系统
| 编码 | 功能 | 实现 | 测试 | 注释 | 说明 |
|------|------|:----:|:----:|:----:|------|
| M5-1 | 泛型配置基类 | ✅ | ✅ | ✅ | `Config.cs` |
| M5-2 | JSON 配置提供者 | ✅ | ✅ | ✅ | `JsonConfigProvider.cs` |
| M5-3 | XML 配置提供者 | ✅ | ✅ | ✅ | `XmlConfigProvider.cs` |
| M5-4 | INI 配置提供者 | ✅ | ✅ | ✅ | `IniConfigProvider.cs` |
| M5-5 | HTTP 远程配置 | ✅ | ✅ | ✅ | `HttpConfigProvider.cs` |
| M5-6 | Apollo 配置 | ✅ | ✅ | ✅ | `ApolloConfigProvider.cs`,含 ApolloConfigProviderTests |
| M5-7 | 命令行解析 | ✅ | ✅ | ✅ | `CommandParser.cs` |
| M5-8 | 核心配置 | ✅ | ✅ | ✅ | `Setting.cs`,含 SettingTests |
| M5-9 | 文件配置提供者 | ✅ | ✅ | ✅ | `FileConfigProvider.cs` |
| M5-10 | 系统配置 | ✅ | ✅ | ✅ | `SysConfig.cs` 基于 Config<T> 的系统名称/版本等基本设置,含 SysConfigTest |
## M6 安全加密
| 编码 | 功能 | 实现 | 测试 | 注释 | 说明 |
|------|------|:----:|:----:|:----:|------|
| M6-1 | 统一加密扩展 | ✅ | ✅ | ✅ | `SecurityHelper.cs` |
| M6-2 | RSA 加密 | ✅ | ✅ | ✅ | `RSAHelper.cs` |
| M6-3 | DSA 签名 | ✅ | ✅ | ✅ | `DSAHelper.cs` |
| M6-4 | 国密 SM4 | ✅ | ✅ | ✅ | `SM4.cs` |
| M6-5 | RC4 流加密 | ✅ | ✅ | ✅ | `RC4.cs` |
| M6-6 | CRC 校验 | ✅ | ✅ | ✅ | `Crc16.cs`/`Crc32.cs` |
| M6-7 | MurmurHash | ✅ | ✅ | ✅ | `Murmur128.cs` |
| M6-8 | 密码策略 | ✅ | ✅ | ✅ | `IPasswordProvider.cs` |
| M6-9 | 随机数 | ✅ | ✅ | ✅ | `Rand.cs` |
| M6-10 | 加密填充 | ✅ | ✅ | ✅ | `PKCS7PaddingTransform.cs`,含 PKCS7PaddingTransformTests |
| M6-11 | ASN.1 编解码 | ✅ | ✅ | ✅ | `Asn1.cs`/`Asn1Tags.cs` |
## M7 应用框架
| 编码 | 功能 | 实现 | 测试 | 注释 | 说明 |
|------|------|:----:|:----:|:----:|------|
| M7-1 | IoC 容器 | ✅ | ✅ | ✅ | `ObjectContainer.cs` |
| M7-2 | 应用主机 | ✅ | ✅ | ✅ | `Host.cs`,含 HostTests(已修复并启用) |
| M7-3 | 插件框架 | ✅ | ✅ | ✅ | `IPlugin.cs` 接口 + `PluginManager`,含 PluginManagerTests |
| M7-4 | Actor 并发 | ✅ | ✅ | ✅ | `Actor.cs` |
| M7-5 | 管道模型 | ✅ | ✅ | ✅ | `IPipeline.cs`,PipelineTests |
| M7-6 | 延迟队列 | ✅ | ✅ | ✅ | `DeferredQueue.cs` |
| M7-7 | 事件总线 | ✅ | ✅ | ✅ | `EventBus.cs`/`EventHub.cs`,含集成测试 |
| M7-8 | 消息接口 | ✅ | ✅ | ✅ | `IMessage.cs`,含 MessageDisposeTests |
## M8 缓存系统
| 编码 | 功能 | 实现 | 测试 | 注释 | 说明 |
|------|------|:----:|:----:|:----:|------|
| M8-1 | 统一缓存接口 | ✅ | ✅ | ✅ | `ICache.cs` 接口,以 MemoryCache 实现做契约测试(ICacheContractTests) |
| M8-2 | 内存缓存 | ✅ | ✅ | ✅ | `MemoryCache.cs`,含 MemoryQueue |
| M8-3 | 缓存基类 | ✅ | ✅ | ✅ | `Cache.cs`,通过 MemoryCache 间接覆盖 |
| M8-4 | 缓存提供者 | ✅ | ✅ | ✅ | `CacheProvider.cs` |
| M8-5 | 缓存锁 | ✅ | ✅ | ✅ | `CacheLock.cs`,含 TestLock1-3 在 MemoryCacheTests |
| M8-6 | 内存队列 | ✅ | ✅ | ✅ | `MemoryQueue<T>`(在 MemoryCache.cs) |
| M8-7 | 对象池 | ✅ | ✅ | ✅ | `Pool.cs` + `ObjectPool.cs` |
| M8-8 | 生产者消费者接口 | ✅ | ✅ | ✅ | `IProducerConsumer.cs` 轻量级队列抽象接口,以 MemoryQueue 做契约测试(IProducerConsumerTests) |
| M8-9 | 消息队列事件总线 | ✅ | ✅ | ✅ | `QueueEventBus.cs` 基于缓存队列的分布式事件总线,含 QueueEventBusTests |
## M9 数据与算法
| 编码 | 功能 | 实现 | 测试 | 注释 | 说明 |
|------|------|:----:|:----:|:----:|------|
| M9-1 | 模型数据接口 | ✅ | ✅ | ✅ | `IModel.cs` 字符串键索引模型属性接口,含 IModelTests |
| M9-2 | 扩展数据接口 | ✅ | ✅ | ✅ | `IExtend.cs` 对象扩展属性字典接口,含 IExtendTests |
| M9-3 | 数据过滤器 | ✅ | ✅ | ✅ | `IFilter.cs` 责任链过滤器模式,含 IFilterTests |
| M9-4 | 数据包接口 | ✅ | ✅ | ✅ | `IPacket.cs`,IPacketTests |
| M9-5 | 数据包实现 | ✅ | ✅ | ✅ | `Packet.cs`([Obsolete])/`ArrayPacket`/`OwnerPacket` |
| M9-6 | 数据包编码器 | ✅ | ✅ | ✅ | `IPacketEncoder.cs` + `DefaultPacketEncoder` 对象与数据包互转,含 IPacketEncoderTests |
| M9-7 | 环形缓冲区 | ✅ | ✅ | ✅ | `RingBuffer.cs` |
| M9-8 | 雪花 ID | ✅ | ✅ | ✅ | `Snowflake.cs` |
| M9-9 | 经纬度哈希 | ✅ | ✅ | ✅ | `GeoHash.cs` + `GeoPoint.cs` |
| M9-10 | 内存数据表 | ✅ | ✅ | ✅ | `DbTable.cs` + `DbRow.cs` |
| M9-11 | 分页参数 | ✅ | ✅ | ✅ | `PageParameter.cs` |
| M9-12 | 采样插值框架 | ✅ | ✅ | ✅ | `IInterpolation.cs`/`ISampling.cs`/`AlignModes.cs` 降采样与插值算法抽象,含 SamplingTests |
| M9-13 | 时序降采样 | ✅ | ✅ | ✅ | `AverageSampling.cs`,注释格式已修正 |
| M9-14 | 线性插值 | ✅ | ✅ | ✅ | `LinearInterpolation.cs` 🔍审计: 已补充 12 个测试方法 |
## M10 网络通信
| 编码 | 功能 | 实现 | 测试 | 注释 | 说明 |
|------|------|:----:|:----:|:----:|------|
| M10-1 | TCP 服务端 | ✅ | ✅ | ✅ | `TcpServer.cs`,EchoNetServerTests |
| M10-2 | UDP 服务端 | ✅ | 🟡 | ✅ | `UdpServer.cs`/`UdpSession.cs`,含 SessionBaseTests;UDP 吞吐量集成测试环境敏感 |
| M10-3 | 网络客户端 | ✅ | ✅ | ✅ | `NetClient.cs` |
| M10-4 | 网络会话 | ✅ | ✅ | ✅ | `NetSession.cs` |
| M10-5 | 编解码管道 | ✅ | ✅ | ✅ | StandardCodec/LengthFieldCodec |
| M10-6 | JSON 编解码 | ✅ | ✅ | ✅ | `JsonCodec.cs`,集成测试 |
| M10-7 | WebSocket 编解码 | ✅ | ✅ | ✅ | `WebSocketCodec.cs`,含 WebSocketMessageTests + 集成测试 |
| M10-8 | HTTP 服务端 | ✅ | ✅ | ✅ | `HttpServer.cs`,集成测试 |
| M10-9 | HTTP 客户端 | ✅ | ✅ | ✅ | `TinyHttpClient.cs`,含 TinyHttpClientTest |
| M10-10 | WebSocket | ✅ | ✅ | ✅ | WebSocket 集成测试 + WebSocketMessageTests 全覆盖 |
| M10-11 | HTTP 路由 | ✅ | ✅ | ✅ | `HttpRouter.cs`,含 HttpServerTests 路由测试 |
| M10-12 | HTTP 中间件 | ✅ | ✅ | ✅ | CorsMiddleware/ErrorHandlerMiddleware 等,含 HttpMiddlewareTests |
| M10-13 | 分割粘包处理器 | ✅ | ✅ | ✅ | `SplitDataCodec.cs` 按分割字节处理粘包,含集成测试 |
| M10-14 | 消息匹配队列 | ✅ | ✅ | ✅ | `IMatchQueue.cs` 请求响应包配对队列,含 DefaultMatchQueueTests |
| M10-15 | DNS 解析处理器 | ✅ | ✅ | ✅ | `DnsHttpHandler.cs` 自定义 DNS 解析与多 IP 轮询 HttpClient 处理器,含 DnsHttpHandlerTests |
| M10-16 | APM 追踪处理器 | ✅ | ✅ | ✅ | `HttpTraceHandler.cs` HttpClient APM 链路追踪处理器,含 HttpTraceHandlerTests |
## M11 Web 工具
| 编码 | 功能 | 实现 | 测试 | 注释 | 说明 |
|------|------|:----:|:----:|:----:|------|
| M11-1 | JWT 令牌 | ✅ | ✅ | ✅ | `JwtBuilder.cs` |
| M11-2 | 分布式令牌 | ✅ | ✅ | ✅ | `TokenProvider.cs` |
| M11-3 | HTTP 下载 | ✅ | ✅ | ✅ | `WebClientX.cs` |
| M11-4 | 插件辅助 | ✅ | ✅ | ✅ | `PluginHelper.cs`,含 PluginHelperTests |
| M11-5 | 对象存储客户端 | ✅ | ⛔ | ✅ | `EasyClient.cs` + `IObjectStorage.cs` + `IObjectInfo.cs` 文件存储 HTTP 客户端,EasyClientTests 需外部服务 |
| M11-6 | 令牌 HTTP 过滤器 | ✅ | ⛔ | ✅ | `TokenHttpFilter.cs` HTTP 请求令牌注入与自动续期,FilterTest 需外部服务 |
## M12 压缩归档
| 编码 | 功能 | 实现 | 测试 | 注释 | 说明 |
|------|------|:----:|:----:|:----:|------|
| M12-1 | Tar 归档 | ✅ | ✅ | ✅ | `TarFile.cs`,TarFileTests + TarEntryTests |
| M12-2 | 7Zip 压缩 | ✅ | ✅ | ✅ | `SevenZip.cs`,含 SevenZipTests |
## M13 RPC 通信
| 编码 | 功能 | 实现 | 测试 | 注释 | 说明 |
|------|------|:----:|:----:|:----:|------|
| M13-1 | HTTP API 客户端 | ✅ | ✅ | ✅ | `ApiHttpClient.cs`,Race 测试 |
| M13-2 | 负载均衡 | ✅ | ✅ | ✅ | `ILoadBalancer.cs`,三种策略均有测试 |
| M13-3 | 服务解析 | ✅ | ✅ | ✅ | `IServiceResolver.cs` |
| M13-4 | API 辅助 | ✅ | ✅ | ✅ | `ApiHelper.cs` |
---
## 待修复项
### 排除编译的测试
| 测试 | 编码 | 原因 |
|------|------|------|
| `Applications/**` | — | 应用层测试,依赖外部 |
|