NewLife.Core - 核心库

March 13, 2026 · View on GitHub

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

​ NewLife框架是一个全面的 .NET 组件生态系统,它为构建可扩展的应用程序提供了高性能的基础设施。它提供日志、网络、序列化、缓存和多线程等基本功能,作为从 Web 服务到 IoT 设备的一系列应用程序的基础。

核心库教程:https://newlifex.com/core

框架概述

​ NewLife 由多个组件库组成,NewLife.Core 提供了基础。该框架支持从 .NET 2.0 到 .NET 10.0 的多个 .NET 版本,从而在不同环境中实现广泛的兼容性。

快速拥有

​ 使用NewLife组件的最简便方式是从Nuget引用,例如在项目Nuget管理中搜索NewLife.Core 并引入。

​ NewLife组件由社区共创20多年,使用MIT开源协议,任何人可任意修改并再次发行(无需声明来源)!许多企业基于此构建内部开发框架时,甚至可通过批量替换源码中所有NewLife字符串为贵公司名实现私有化定制。

​ 团队始终秉承开放态度,不仅支持VisualStudio(最新正式版)打开解决方案编译,也兼容dotnet build命令行编译,项目文件摒弃复杂功能以追求简单易用,真正做到开箱即用。

​ 我们公开强命名证书newlife.snk以支持独自编译替换程序集。

​ 命令行中运行以下命令快速体验NewLife组件:

dotnet new install NewLife.Templates
dotnet new nconsole --name test
cd test
dotnet run

主要功能

模块分类功能点主要特点
基础扩展类型转换Utility提供高效的类型转换,支持各种格式和异常处理。
字符串扩展StringHelper包含多种字符串操作,如截取、编码和格式化等。
路径扩展PathHelper智能处理多种路径格式,实现代码跨平台兼容性。
数据扩展IOHelper优化IO操作,提供高效的数据流与字节数组转换。
进程扩展ProcessHelper简化进程操作,提供获取和管理进程信息的便捷方法。
运行时信息Runtime提供简单方法获取应用运行时信息,便于调试诊断。
可销毁DisposeBase提供标准的资源释放模式,有效防止内存和资源泄漏。
反射扩展Reflect高性能反射工具,快速进行对象成员的读写操作。
安全扩展SecurityHelper集成RSA/AES/DES/MD5等多种加解密,简化安全操作。
日志与追踪日志ILog支持多种日志输出方式,提供强大的异步写入功能。
链路追踪ITracer强大的APM性能追踪,支持与星尘平台集成。
定时调度高级定时器TimerX高精度定时器,支持Cron调度和异步周期执行。
Cron表达式提供类似Linux Cron的定时任务,支持秒级匹配。
时间提供者TimeProvider统一时间抽象与高精度耗时计算,便于跨版本兼容。
配置系统配置系统Config统一配置框架,支持多格式、多来源和热加载机制。
配置提供者IConfigProvider统一配置接口,支持回调和配置节点模型。
核心配置Setting管理组件核心配置,控制如日志、网络等基础行为。
系统配置SysConfig管理应用系统配置,支持本地、分布式及加密配置。
序列化Json序列化高性能Json工具,支持多种复杂场景下的序列化。
Xml序列化提供XML序列化和反序列化,支持对象与XML互转。
二进制序列化高性能二进制序列化,支持复杂对象图和版本控制。
高级二进制序列化协议消息全程零分配编解码的进阶指南。
Csv解析CsvFile快速读写CSV文件,支持自定义分隔符和数据绑定。
Csv数据库CsvDb将CSV文件作为数据库使用,支持基本的增删改查。
轻量级Excel读取器ExcelReader无需Office依赖,快速读取Excel,支持大数据量。
缓存统一缓存接口ICache定义标准缓存操作,提供内存、Redis等多种实现。
缓存架构ICacheProvider用于管理和提供ICache实例,支持多缓存并存。
内存缓存MemoryCache高性能的单机内存缓存,支持过期和容量策略。
字典缓存DictionaryCache增强型字典,增加缓存有效期和上限等实用功能。
对象池ObjectPool用于复用昂贵对象,提高性能并减少GC压力。
对象池Pool基于CAS的高性能通用对象池,降低GC压力。
分布式缓存NewLife.Redis基于Redis的分布式缓存实现,支持多种数据结构。
高性能缓冲区数据包IPacket零拷贝切片、链式包的核心数据包接口。
缓冲区Buffers高性能缓冲区操作库,汇总Span和池化写入等组件。
池化写入器PooledByteBufferWriter基于ArrayPool的池化缓冲写入器,支持动态扩容。
Span读取器SpanReader零分配高性能二进制流解析器,支持大小端。
Span写入器SpanWriter零分配高性能二进制数据写入器,支持大小端。
Span辅助SpanHelperSpan/ReadOnlySpan扩展方法集,简化内存操作。
应用框架对象容器ObjectContainer轻量级依赖注入,支持多种生命周期和注入模式。
轻量级应用主机Host简化应用托管,轻松构建长时间运行的后台服务。
插件框架IPlugin提供标准化的插件管理机制,实现应用模块化开发。
并行模型Actor简化的并发编程模型,通过消息队列处理提升吞吐。
管道模型Pipeline双向处理链模型,统一Read/Write/Open/Close流程。
延迟队列DeferredQueue聚合高频变更并批处理落地,降低写入放大。
事件总线EventBus进程内事件分发,支持主题路由和队列式消息。
弱引用委托WeakAction解决事件订阅内存泄漏问题,实现安全的事件处理。
脚本引擎ScriptEngine支持C#动态编译运行,提供灵活的脚本扩展能力。
压缩解压缩集成多种压缩算法,提供统一接口进行数据压缩。
压缩归档Tar与7Zip覆盖Tar/Tar.Gz与7Zip进阶归档压缩用法。
机器信息MachineInfo全面获取硬件信息,支持Windows和Linux系统。
拼音库PinYin高效汉字转拼音库,支持全拼和简拼,性能优越。
数据集DbTable内存中的数据表,方便进行数据处理和分析。
分页参数PageParameter封装分页逻辑,支持Web和API等多种场景分页。
雪花算法Snowflake分布式唯一ID生成算法,保证高并发下ID唯一性。
安全与令牌分布式数字签名令牌TokenProvider用于生成和验证分布式令牌,保障多节点间安全。
Web通用令牌JwtBuilder提供JWT令牌的生成、解码和验证,简化Web验证。
云服务百度地图接口BaiduMap封装百度地图API,提供IP定位和地址解析等功能。
高德地图接口AMap封装高德地图API,提供地址解析等服务。
经纬度哈希GeoHash将经纬度编码为字符串,用于附近位置搜索。
阿里云对象存储OssClient简化阿里云OSS操作,提供文件上传下载管理功能。
网络库网络服务端NetServer高性能TCP/UDP服务端,封装了会话和数据处理。
网络客户端NetClient统一的TCP/UDP网络客户端,简化连接与收发。
消息IMessage请求-响应消息接口,支持池化内存和释放链。
网络编解码器Handlers粘包拆包、消息编解码与协议管道集成。
数据包编码器PacketCodec用于网络粘包处理,支持多种消息分包解决方案。
简易远程消息交换协议SRMP轻量级RPC协议,支持二进制序列化和UDP传输。
负载均衡与故障转移LoadBalancer提供Failover/轮询/竞速三种多节点调度策略。
RPC通信ApiServer快速构建RPC服务端,自动注册服务并提供接口。
RPC通信ApiClient快速创建RPC客户端,支持服务发现和故障转移。
HTTP客户端ApiHttpClient基于HttpClient封装,简化Web API的调用和处理。
HTTP服务端HttpServer(嵌入式设备)轻量级Http服务器,适合嵌入式和物联网设备使用。
网络下载WebClientX增强版WebClient,支持多线程、断点续传下载。
WebSocket服务器(物联网下行通知神器)高性能WebSocket服务端,适用于物联网消息推送。
WebSocket双向通信介绍握手、帧处理、心跳与连接关闭实践。

新生命项目矩阵

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

项目年份说明
基础组件支撑其它中间件以及产品项目
NewLife.Core2002核心库,日志、配置、缓存、网络、序列化、APM性能追踪
NewLife.XCode2005大数据中间件,单表百亿级,MySql/SQLite/SqlServer/Oracle/PostgreSql/达梦,自动分表,读写分离
NewLife.Net2005网络库,单机千万级吞吐率(2266万tps),单机百万级连接(400万Tcp长连接)
NewLife.Remoting2011协议通信库,提供CS应用通信框架,支持Http/RPC通信框架,高吞吐,物联网设备低开销易接入
NewLife.Cube2010魔方快速开发平台,集成了用户权限、SSO登录、OAuth服务端等,单表100亿级项目验证
NewLife.Agent2008服务管理组件,把应用安装成为操作系统守护进程,Windows服务、Linux的Systemd
NewLife.Zero2020Zero零代脚手架,基于NewLife组件生态的项目模板NewLife.Templates,Web、WebApi、Service
中间件对接知名中间件平台
NewLife.Redis2017Redis客户端,微秒级延迟,百万级吞吐,丰富的消息队列,百亿级数据量项目验证
NewLife.RocketMQ2018RocketMQ纯托管客户端,支持Apache RocketMQ和阿里云消息队列,十亿级项目验
NewLife.MQTT2019物联网消息协议,MqttClient/MqttServer,客户端支持阿里云物联网
NewLife.IoT2022IoT标准库,定义物联网领域的各种通信协议标准规范
NewLife.Modbus2022ModbusTcp/ModbusRTU/ModbusASCII,基于IoT标准库实现,支持ZeroIoT平台和IoTEdge网关
NewLife.Siemens2022西门子PLC协议,基于IoT标准库实现,支持IoT平台和IoTEdge
NewLife.Map2022地图组件库,封装百度地图、高德地图、腾讯地图、天地图
NewLife.Audio2023音频编解码库,PCM/ADPCMA/G711A/G722U/WAV/AAC
产品平台产品平台级,编译部署即用,个性化自定义
Stardust2018星尘,分布式服务平台,节点管理、APM监控中心、配置中心、注册中心、发布中心
AntJob2019蚂蚁调度,分布式大数据计算平台(实时/离线),蚂蚁搬家分片思想,万亿级数据量项目验证
NewLife.ERP2021企业ERP,产品管理、客户管理、销售管理、供应商管理
CrazyCoder2006码神工具,众多开发者工具,网络、串口、加解密、正则表达式、Modbus、MQTT
EasyIO2023简易文件存储,支持分布式系统中文件集中存储。
XProxy2005产品级反向代理,NAT代理、Http代理
HttpMeter2022Http压力测试工具
GitCandy2015Git源代码管理系统
SmartOS2014嵌入式操作系统,完全独立自主,支持ARM Cortex-M芯片架构
SmartA22019嵌入式工业计算机,物联网边缘网关,高性能.NET8主机,应用于工业、农业、交通、医疗
FIoT物联网平台2020物联网整体解决方案,建筑、环保、农业,软硬件及大数据分析一体化,单机十万级点位项目验证

新生命开发团队

XCode

新生命团队(NewLife)成立于2002年,是新时代物联网行业解决方案提供者,致力于提供软硬件应用方案咨询、系统架构规划与开发服务。NuGet 累计下载 523万+。团队核心组件(XCode / Redis / Stardust / AntJob / IoT 等)已在电力、工业、交通、环保、医疗、文博等行业大规模应用。

我们持续改进,力求成为值得长期信赖的 .NET / IoT / 分布式技术伙伴。

网站:https://newlifex.com 开源组织:https://github.com/NewLifeX
微信公众号:
智能大石头


如果本项目对你有帮助,欢迎 Star、分享给团队,或通过 Issue/PR 反馈改进建议。