Go to file
石头 b0114f7886 v11.6.2025.0801 改进Host.Close让应用有序退出;增强DbTable的大数据文件读写能力,支持机器学场景;优化Binary二进制读写,支持压缩数据流;改进Linux内存采集;改进ExcelReader对常规数字的读取; 2025-08-01 09:50:21 +08:00
.github/workflows [ci/cd]减少单元测试的目标框架 2025-02-01 23:51:09 +08:00
App1 加强 MachineInfo 对 Android 的支持 2022-04-24 11:34:13 +08:00
Doc [refactor]重构TinyHttpClient的chunk拼接逻辑 2024-10-04 10:35:39 +08:00
NewLife.Android 整理Xamarin项目,仍然有不少兼容问题 2019-06-02 23:44:16 +08:00
NewLife.Core v11.6.2025.0801 改进Host.Close让应用有序退出;增强DbTable的大数据文件读写能力,支持机器学场景;优化Binary二进制读写,支持压缩数据流;改进Linux内存采集;改进ExcelReader对常规数字的读取; 2025-08-01 09:50:21 +08:00
NewLife.Security v11.6.2025.0801 改进Host.Close让应用有序退出;增强DbTable的大数据文件读写能力,支持机器学场景;优化Binary二进制读写,支持压缩数据流;改进Linux内存采集;改进ExcelReader对常规数字的读取; 2025-08-01 09:50:21 +08:00
Samples 优化RPC测试代码,调用时提交参数 2025-07-27 16:06:14 +08:00
Test Revert "[NewLife.Core] dev 自动提交" 2025-07-07 10:32:40 +08:00
Test2 v11.5.2025.0701 改进ChangeType;浮点数转换支持科学计数法 2025-07-01 10:57:52 +08:00
XUnitTest.Core v11.6.2025.0801 改进Host.Close让应用有序退出;增强DbTable的大数据文件读写能力,支持机器学场景;优化Binary二进制读写,支持压缩数据流;改进Linux内存采集;改进ExcelReader对常规数字的读取; 2025-08-01 09:50:21 +08:00
.editorconfig 强制启用CA2007规则,任何层级,只要是通用库代码,await时都应该调用ConfigureAwait(false)。fix: https://github.com/NewLifeX/NewLife.XCode/issues/55。参考https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2007 2024-11-30 12:48:31 +08:00
.gitignore v11.2.2025.0101 新增消息总线IEventBus 2025-01-01 09:02:18 +08:00
LICENSE 指定MIT授权 2018-11-03 23:26:38 +08:00
Readme.MD 增加快速拥有 2025-07-11 02:10:21 +08:00
X组件.sln 新增WinForm客户端例程,主要用于测试发现同步调用异步时卡UI上下文问题 2024-11-30 10:40:21 +08:00
global.json [feat]新增支持.net9.0 2024-09-21 23:18:09 +08:00

Readme.MD

NewLife.Core - 核心库

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 9.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 包含多种字符串操作,如截取、编码和格式化等。
进程扩展ProcessHelper 简化进程操作,提供获取和管理进程信息的便捷方法。
路径扩展PathHelper 智能处理多种路径格式,实现代码跨平台兼容性。
数据扩展IOHelper 优化IO操作提供高效的数据流与字节数组转换。
安全扩展SecurityHelper 集成多种加解密算法,简化数据安全和校验操作。
可销毁DisposeBase 提供标准的资源释放模式,有效防止内存和资源泄漏。
反射扩展Reflect 高性能反射工具,快速进行对象成员的读写操作。
运行时信息Runtime 提供简单方法获取应用运行时信息,便于调试诊断。
实用组件 日志ILog 支持多种日志输出方式,提供强大的异步写入功能。
链路追踪ITracer 强大的APM性能追踪支持与星尘平台集成。
高级定时器TimerX 高精度定时器支持Cron调度和异步周期执行。
Cron表达式 提供类似Linux Cron的定时任务支持秒级匹配。
机器信息MachineInfo 全面获取硬件信息支持Windows和Linux系统。
拼音库PinYin 高效汉字转拼音库,支持全拼和简拼,性能优越。
对象容器ObjectContainer 轻量级依赖注入,支持多种生命周期和注入模式。
轻量级应用主机Host 简化应用托管,轻松构建长时间运行的后台服务。
插件框架IPlugin 提供标准化的插件管理机制,实现应用模块化开发。
并行模型Actor 简化的并发编程模型,通过消息队列处理提升吞吐。
脚本引擎ScriptEngine 支持C#动态编译运行,提供灵活的脚本扩展能力。
压缩解压缩 集成多种压缩算法,提供统一接口进行数据压缩。
弱引用委托WeakAction 解决事件订阅内存泄漏问题,实现安全的事件处理。
分布式数字签名令牌TokenProvider 用于生成和验证分布式令牌,保障多节点间安全。
Web通用令牌JwtBuilder 提供JWT令牌的生成、解码和验证简化Web验证。
百度地图接口BaiduMap 封装百度地图API提供IP定位和地址解析等功能。
高德地图接口AMap 封装高德地图API提供地址解析等服务。
阿里云对象存储OssClient 简化阿里云OSS操作提供文件上传下载管理功能。
序列化与配置 Json序列化 高性能Json工具支持多种复杂场景下的序列化。
Xml序列化 提供XML序列化和反序列化支持对象与XML互转。
二进制序列化 高性能二进制序列化,支持复杂对象图和版本控制。
Csv解析CsvFile 快速读写CSV文件支持自定义分隔符和数据绑定。
Csv数据库CsvDb 将CSV文件作为数据库使用支持基本的增删改查。
轻量级Excel读取器ExcelReader 无需Office依赖快速读取Excel支持大数据量。
配置系统IConfigProvider 提供统一配置框架,支持多种来源和热加载机制。
核心配置Setting 管理组件核心配置,控制如日志、网络等基础行为。
系统配置SysConfig 管理应用系统配置,支持本地、分布式及加密配置。
数据缓存 统一缓存接口ICache 定义标准缓存操作提供内存、Redis等多种实现。
缓存架构ICacheProvider 用于管理和提供ICache实例支持多缓存并存。
内存缓存MemoryCache 高性能的单机内存缓存,支持过期和容量策略。
分布式缓存NewLife.Redis 基于Redis的分布式缓存实现支持多种数据结构。
字典缓存DictionaryCache 增强型字典,增加缓存有效期和上限等实用功能。
对象池ObjectPool 用于复用昂贵对象提高性能并减少GC压力。
数据包IPacket 高性能数据包封装,优化大数据读写和网络传输。
分页参数PageParameter 封装分页逻辑支持Web和API等多种场景分页。
数据集DbTable 内存中的数据表,方便进行数据处理和分析。
雪花算法Snowflake 分布式唯一ID生成算法保证高并发下ID唯一性。
经纬度哈希GeoHash 将经纬度编码为字符串,用于附近位置搜索。
网络库 网络服务器NetServer 高性能TCP/UDP服务端封装了会话和数据处理。
网络客户端ISocketClient 统一的TCP/UDP客户端接口简化网络连接操作。
ApiHttpClient客户端 基于HttpClient封装简化Web API的调用和处理。
简易远程消息交换协议SRMP 轻量级RPC协议支持二进制序列化和UDP传输。
数据包编码器PacketCodec 用于网络粘包处理,支持多种消息分包解决方案。
RPC通信ApiServer 快速构建RPC服务端自动注册服务并提供接口。
RPC通信ApiClient 快速创建RPC客户端支持服务发现和故障转移。
网络下载WebClientX 增强版WebClient支持多线程、断点续传下载。
Web服务器HttpServer嵌入式设备 轻量级Http服务器适合嵌入式和物联网设备使用。
WebSocket服务器物联网下行通知神器 高性能WebSocket服务端适用于物联网消息推送。

新生命项目矩阵

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

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

新生命开发团队

XCode

新生命团队NewLife成立于2002年是新时代物联网行业解决方案提供者致力于提供软硬件应用方案咨询、系统架构规划与开发服务。
团队主导的80多个开源项目已被广泛应用于各行业Nuget累计下载量高达400余万次。
团队开发的大数据中间件NewLife.XCode、蚂蚁调度计算平台AntJob、星尘分布式平台Stardust、缓存队列组件NewLife.Redis以及物联网平台FIoT均成功应用于电力、高校、互联网、电信、交通、物流、工控、医疗、文博等行业为客户提供了大量先进、可靠、安全、高质量、易扩展的产品和系统集成服务。

我们将不断通过服务的持续改进成为客户长期信赖的合作伙伴通过不断的创新和发展成为国内优秀的IoT服务供应商。

新生命团队始于2002年部分开源项目具有20年以上漫长历史源码库保留有2010年以来所有修改记录
网站:https://newlifex.com
开源:https://github.com/newlifex
QQ群1600800/1600838
微信公众号:
智能大石头