Healnet.Common
1.0.7
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Healnet.Common --version 1.0.7
NuGet\Install-Package Healnet.Common -Version 1.0.7
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Healnet.Common" Version="1.0.7" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Healnet.Common" Version="1.0.7" />
<PackageReference Include="Healnet.Common" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Healnet.Common --version 1.0.7
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Healnet.Common, 1.0.7"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Healnet.Common@1.0.7
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Healnet.Common&version=1.0.7
#tool nuget:?package=Healnet.Common&version=1.0.7
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Healnet.Common
Healnet.Common 是 Healnet 框架的基础通用工具类库,提供核心的帮助方法和通用扩展。
功能特性
| 工具类 | 说明 |
|---|---|
| CryptoHelper | 提供 MD5、SHA256、SHA512、RSA、AES 等多种加密算法,支持密码哈希与验证 |
| JsonHelper | 提供 JSON 序列化/反序列化的便捷方法,支持深度克隆 |
| CollectionExtensions | 提供常用的集合操作扩展方法(空值检查、安全获取、分批处理、去重等) |
| NetworkHelper | 提供 IP 地址获取、端口检查、网络检测等功能 |
| EnvironmentHelper | 提供环境变量、系统信息、目录操作等功能 |
| ServiceAddressHelper | 提供多环境自动获取服务地址功能(支持 K8s、Docker、开发环境) |
| SnowflakeHelper | 提供雪花ID生成器,支持分布式唯一ID生成 |
| DateTimeHelper | 提供日期时间格式化、时区转换、时间戳处理等功能 |
安装
Install-Package Healnet.Common
使用示例
CryptoHelper
// 密码哈希与验证
var hashedPassword = CryptoHelper.HashPassword("user123");
bool isValid = CryptoHelper.VerifyPassword("user123", hashedPassword);
// MD5/SHA 加密
var md5 = CryptoHelper.Md5Encrypt("test");
var sha256 = CryptoHelper.Sha256Encrypt("test");
// AES 加密解密
var encrypted = CryptoHelper.AesEncrypt("secret", "mykey123456789012345");
var decrypted = CryptoHelper.AesDecrypt(encrypted, "mykey123456789012345");
// RSA 密钥对生成与加解密
var (publicKey, privateKey) = CryptoHelper.GenerateRsaKeyPair();
var rsaEncrypted = CryptoHelper.RsaEncrypt("secret", publicKey);
var rsaDecrypted = CryptoHelper.RsaDecrypt(rsaEncrypted, privateKey);
JsonHelper
// 序列化对象
var user = new User { Name = "John", Age = 30 };
string json = JsonHelper.Serialize(user);
string formattedJson = JsonHelper.SerializeIndented(user);
// 反序列化 JSON
User? user = JsonHelper.Deserialize<User>(json);
// 深度克隆
var clonedUser = JsonHelper.Clone(user);
CollectionExtensions
// 空值检查
if (list.IsNullOrEmpty()) { /* 处理空集合 */ }
if (list.HasValue()) { /* 处理非空集合 */ }
// 安全获取元素
var first = list.FirstOrDefaultSafe();
var last = list.LastOrDefaultSafe();
// 分批处理
foreach (var batch in list.Batch(100))
{
await ProcessBatch(batch);
}
// 去重
var distinctList = list.DistinctBy(item => item.Id);
ServiceAddressHelper
用于在不同环境(Kubernetes、Docker、开发环境)中自动获取服务地址:
// 获取服务地址(自动适配环境)
var address = ServiceAddressHelper.GetServiceAddress();
var addressWithDefault = ServiceAddressHelper.GetServiceAddress("127.0.0.1");
// 获取服务端口(从环境变量或默认值)
var port = ServiceAddressHelper.GetServicePort(8080);
// 判断运行环境
bool isK8s = ServiceAddressHelper.IsKubernetesEnvironment();
bool isDocker = ServiceAddressHelper.IsDockerEnvironment();
string env = ServiceAddressHelper.GetRunningEnvironment();
// 生成服务 ID(用于 Consul 注册)
var serviceId = ServiceAddressHelper.GetServiceId("my-service");
var serviceIdFromEnv = ServiceAddressHelper.GetServiceIdFromEnvironment("my-service");
// 获取健康检查 URL
var healthUrl = ServiceAddressHelper.GetHealthCheckUrl(8080);
NetworkHelper
// 获取本机 IP 地址
var localIp = NetworkHelper.GetLocalIpAddress();
var allIps = NetworkHelper.GetLocalIpAddresses();
// 获取 MAC 地址和主机名
var macAddress = NetworkHelper.GetMacAddress();
var hostName = NetworkHelper.GetHostName();
// 端口检查
bool portInUse = NetworkHelper.IsPortInUse(8080);
int availablePort = NetworkHelper.FindAvailablePort(10000, 20000);
EnvironmentHelper
// 环境变量操作
var dbConnection = EnvironmentHelper.GetEnvironmentVariable("DB_CONNECTION");
var apiUrl = EnvironmentHelper.GetEnvironmentVariable("API_URL", "http://localhost:5000");
// 环境判断
bool isDev = EnvironmentHelper.IsDevelopment();
bool isProd = EnvironmentHelper.IsProduction();
// 系统信息
var machineName = EnvironmentHelper.GetMachineName();
var osVersion = EnvironmentHelper.GetOsVersion();
SnowflakeHelper
// 初始化雪花ID生成器
var snowflake = SnowflakeHelper.Instance;
// 生成唯一ID
long id = snowflake.NextId();
// 获取ID的时间戳
DateTime timestamp = snowflake.GetTimestamp(id);
DateTimeHelper
// 获取当前时间戳(秒)
long timestamp = DateTimeHelper.GetTimestamp();
// 时间戳转DateTime
DateTime date = DateTimeHelper.FromTimestamp(1620000000);
// 格式化日期
string formatted = DateTimeHelper.Format(DateTime.Now, "yyyy-MM-dd HH:mm:ss");
// 时区转换
DateTime utcTime = DateTimeHelper.ConvertToUtc(DateTime.Now);
DateTime localTime = DateTimeHelper.ConvertToLocal(utcTime);
// 判断是否是工作日
bool isWorkDay = DateTimeHelper.IsWorkDay(DateTime.Now);
命名空间
using Healnet.Common.Helpers;
using Healnet.Common.Extensions;
依赖包
| 包名 | 版本 |
|---|---|
| System.Text.Json | 8.0.0 |
| System.Security.Cryptography.Xml | 8.0.0 |
许可证
MIT License
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- ClosedXML (>= 0.102.1)
- FluentValidation (>= 11.4.0)
- FluentValidation.DependencyInjectionExtensions (>= 11.4.0)
- Mapster (>= 7.4.0)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Newtonsoft.Json (>= 13.0.3)
- System.Security.Cryptography.Xml (>= 8.0.1)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Healnet.Common:
| Package | Downloads |
|---|---|
|
Healnet.Infrastructure
Healnet.Infrastructure 是 Healnet 框架的基础设施层类库,提供各种基础设施服务的封装和集成,包括 Consul 服务发现、Redis 缓存、RabbitMQ 消息队列、gRPC、Elasticsearch、Milvus 向量数据库、SQLSugar ORM、JWT 认证、YARP 反向代理、OpenTelemetry 可观测性、Serilog 日志框架、ClickHouse 列式数据库等。 |
|
|
Healnet.Core
Healnet.Core 是 Healnet 框架的核心业务层类库,提供领域层的基础接口和通用服务。包含仓储接口、工作单元、消息队列接口和统一异常处理。 |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.1.0 | 40 | 7/24/2026 |
| 3.0.1 | 70 | 7/23/2026 |
| 3.0.0 | 94 | 7/16/2026 |
| 2.0.7 | 112 | 7/10/2026 |
| 2.0.5 | 114 | 7/8/2026 |
| 2.0.3 | 118 | 6/30/2026 |
| 2.0.1 | 104 | 6/30/2026 |
| 2.0.0 | 116 | 6/29/2026 |
| 1.7.3 | 114 | 6/29/2026 |
| 1.5.0 | 145 | 6/16/2026 |
| 1.4.0 | 116 | 6/15/2026 |
| 1.2.0 | 121 | 5/29/2026 |
| 1.1.1 | 119 | 5/25/2026 |
| 1.1.0 | 120 | 5/22/2026 |
| 1.0.9 | 123 | 5/20/2026 |
| 1.0.8 | 118 | 5/20/2026 |
| 1.0.7 | 113 | 5/20/2026 |
| 1.0.6 | 142 | 5/19/2026 |
| 1.0.5 | 162 | 5/13/2026 |
| 1.0.4 | 125 | 5/13/2026 |
Loading failed
Initial release of Healnet.Common