Healnet.Infrastructure 3.0.0

dotnet add package Healnet.Infrastructure --version 3.0.0
                    
NuGet\Install-Package Healnet.Infrastructure -Version 3.0.0
                    
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.Infrastructure" Version="3.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Healnet.Infrastructure" Version="3.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Healnet.Infrastructure" />
                    
Project file
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.Infrastructure --version 3.0.0
                    
#r "nuget: Healnet.Infrastructure, 3.0.0"
                    
#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.Infrastructure@3.0.0
                    
#: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.Infrastructure&version=3.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Healnet.Infrastructure&version=3.0.0
                    
Install as a Cake Tool

Healnet.Infrastructure 基础设施模块

版本: v2.0.6 | 模块: Healnet.Infrastructure | 依赖: Healnet.Core → Healnet.Common | TFM: net10.0

概述

Healnet.Infrastructure 是 Healnet 微服务框架的基础设施实现层,对 24 个 中间件/基础设施组件进行了统一封装,提供一致的 DI 注册方式与配置约定。它实现 Healnet.Core 定义的抽象契约(如 ICacheServiceIUnitOfWorkITokenServiceIHttpClientServiceIConsulServiceIAIService 等),并集成所有第三方技术组件。

AI 能力彻底 DIP:AI 抽象契约已上移至 Healnet.Core.AI / Healnet.Core.AI.Memory,本层 AI/ 目录仅含实现类(如 UnifiedAIServiceAgentServiceCopilotClientMicrosoftAIClientChatContextManagerAgentContextManagerRAGService,以及 Memory 三实现 ConversationRepository/RedisShortTermMemoryStore/MemoryOrchestrator),并引用 Semantic Kernel / Microsoft.Extensions.AI。

快速导航

类别 模块 注册方法 配置节点 生命周期
认证安全 Authentication AddJwtAuth(...) Healnet:Jwt Scoped
认证安全 Security AddSecurityHeaders(...) / AddCorsPolicy(...) Healnet:Security / Healnet:Cors Singleton
数据存储 SqlSugar AddSqlSugar(...) Healnet:SqlSugar Singleton/Scope
数据存储 MongoDB AddMongoDB(...) Healnet:MongoDB Singleton/Scoped
数据存储 ElasticSearch AddElasticSearch(...) Healnet:ElasticSearch Singleton
数据存储 Milvus AddMilvus(...) Healnet:Milvus Singleton
缓存锁 Redis AddRedis(...) Healnet:Redis Singleton
消息队列 RabbitMQ 手动注册 IConnection + IRabbitMQService 自定义 Singleton
服务发现 Consul AddConsul(...) + UseConsul(...) Healnet:Consul Singleton
HTTP 客户端 Http AddHttpClientService(...) Healnet:HttpClient:{name} Scoped
API 网关 YARP AddYarpConfigBuilder() / AddYarpStaticConfig() / AddYarpConsulDiscovery(...) / AddYarpResilience() 代码配置 Transient/Singleton
RPC gRPC AddGrpcService(...) Healnet:gRPC Singleton
可观测性 Logging (Serilog) UseHealnetSerilog() / AddSerilog(...) Healnet:Serilog Singleton
可观测性 OpenTelemetry AddHealnetOpenTelemetry(...) 代码配置 Singleton
可观测性 HealthChecks AddHealnetHealthChecks(...) + MapHealnetHealthChecks() 代码配置 Transient
中间件 Middleware UseExceptionHandling() / UseRequestLogging() / UseCorrelationId() 代码配置 Transient
容错 Resilience AddResilience(...) Healnet:Resilience Singleton
AOP 拦截器 AOP AddAspectCoreWithInterceptors() 代码配置 Scoped
API 文档 Swagger AddSwagger(...) + UseSwaggerWithUI() Healnet:Swagger Singleton
对象存储 OSS AddAliyunOssFileService(...) Healnet:FileStorage Singleton
AI 集成 AI AddAIServices(...) / AddMemoryServices(...) Healnet:AI Scoped/Singleton
工作单元 UnitOfWork AddUnitOfWork() Scoped
聚合入口 Extensions AddHealnetInfrastructure(...) / AddHealnetCommonServices() / AddIdGenerator(...) 代码配置 混合

通用入口

对于只需要常用基础服务的场景,提供了快捷注册入口:

// Program.cs
builder.Services.AddHealnetInfrastructure(options =>
{
    options.HttpClientName = "default";
    options.ConsulAddress = "http://consul.healnet.net:8500";
});

// 或仅基础通用服务(Serilog + 雪花 ID)
builder.Services.AddHealnetCommonServices();

模块详细文档

每个模块均有独立的 README,详见:

模块 文档路径
AI AI/README.md
AOP AOP/README.md
Authentication Authentication/README.md
Consul Consul/README.md
ElasticSearch ElasticSearch/README.md
Milvus Milvus/README.md
Extensions Extensions/README.md
gRPC gRPC/README.md
HealthChecks HealthChecks/README.md
Http Http/README.md
Logging (Serilog) Logging/README.md
Middleware Middleware/README.md
MongoDB MongoDB/README.md
OpenTelemetry OpenTelemetry/README.md
OSS OSS/README.md
RabbitMQ RabbitMQ/README.md
Redis Redis/README.md
Resilience Resilience/README.md
Security Security/README.md
SqlSugar SqlSugar/README.md
Swagger Swagger/README.md
UnitOfWork UnitOfWork/README.md
YARP YARP/README.md

架构与 DIP 状态

  • 契约在 Core,实现在 Infrastructure:Redis 的 IRedisService : ICacheService(Core)、UnitOfWork 的 ISqlSugarUnitOfWork : IUnitOfWork(Core)、认证/Consul/HTTP 的接口均在 Core,实现在本层。
  • AI 彻底 DIPCore.AI 仅含接口 + POCO(无 AI SDK 依赖),Infrastructure.AI 提供实现并引用 Semantic Kernel / Microsoft.Extensions.AI。
  • OSS 替换 Common 的 IFileServiceAddAliyunOssFileService 通过 services.ReplaceIFileService 解析切换为 AliyunOssFileService
  • 过时中间件已标记 ObsoleteExceptionHandlingMiddleware / HealthCheckMiddleware 推荐使用 Core 的 ExceptionHandlerMiddleware 与 ASP.NET 内置 MapHealthChecks

依赖关系(关键技术包)

Healnet.Infrastructure (net10.0)
├── Healnet.Core
├── Healnet.Common
├── StackExchange.Redis
├── MongoDB.Driver
├── SqlSugarCore (+ ClickHouseCore)
├── NEST (ElasticSearch)
├── Milvus.Client (向量数据库)
├── RabbitMQ.Client
├── Consul
├── Yarp.ReverseProxy
├── Grpc.AspNetCore
├── Serilog.AspNetCore
├── OpenTelemetry (Tracing + Metrics + Logging)
├── Polly
├── AspectCore
├── Swashbuckle
├── Microsoft.SemanticKernel
├── Microsoft.Extensions.AI (+ OpenAI)
├── Aliyun.OSS.SDK.NetCore
└── Microsoft.AspNetCore.Authentication.JwtBearer

近期变更

v2.0.6

  • SqlSugar EntityMapper 可插拔化:引入 IEntityMapper 接口,将硬编码的业务实体映射抽离为可插拔扩展点。AiMemoryEntityMapper(框架级,默认注册,映射 conversation_session/turn/archive)与 BusinessConfigEntityMapper(产品级,不默认注册)两个实现。AddSqlSugar 三重载新增 includeAiMemoryMappers + params IEntityMapper[] additionalMappers 参数,向后兼容。
  • 业务代码迁移:BusinessConfig 全套(实体/接口/仓储/ConfigDbLoader/Mapper/DI)迁出至业务项目 Healnet.BusinessConfig;BusinessExample(NL2SQL 案例库)同步迁出。AIServiceExtensions.cs 移除 BusinessConfigServiceExtensions DI 注册。AopServiceExtensions 移除冗余 using
  • EntityService bug 修复EntityService 的 SqlSugar 实际签名是 Action<PropertyInfo, EntityColumnInfo>(非 Action<Type, EntityColumnInfo>),旧代码 type == typeof(X) 永不为 true,列级 Fluent 映射从未生效。通过 property.DeclaringType 修复。
  • 新增 Milvus 向量数据库封装:新增 Milvus/ 模块(IMilvusService / MilvusService / MilvusOptions / MilvusField / MilvusExtensions),基于官方 Milvus.Client(gRPC SDK)。覆盖集合管理、向量索引、CreateCollection/Load/Release、近似检索(ANN SearchAsync)、标量查询(QueryAsync)、批量/高层写入(InsertEntitiesAsync 按行字典自动构建 FieldData)、删除与健康检查(MilvusHealthCheck)。统一通过 AddMilvus(...) 注册,配置节点 Healnet:Milvus。依赖 Milvus.Client 2.3.0-preview.1(官方 SDK 当前最新版)。

v2.0.5

  • 框架三库版本对齐为 2.0.5

v2.0.4

  • AI 层彻底 DIP:契约上提 Core.AI,Fluent 映射 ConversationSession/ConversationTurn(去除 [SugarTable] 特性),ChatContext 去 Semantic Kernel 依赖。
  • 代码审查清理:修复 12 个编译警告(Consul Timer、gRPC null、字段遮蔽、方法隐藏、AOP 显式接口实现、可空注解);日志规范化(统一 Serilog Log.ForContext,移除 Debug.WriteLine)。
  • 版本统一:Common / Core / Infrastructure 均为 2.0.4

许可证

MIT License

Product 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.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.0.0 37 7/16/2026
2.0.7 57 7/10/2026
2.0.5 60 7/8/2026
2.0.3 64 6/30/2026
2.0.1 64 6/30/2026
2.0.0 63 6/29/2026
1.7.3 58 6/29/2026
1.7.2 62 6/25/2026
1.7.1 57 6/25/2026
1.7.0 62 6/25/2026
1.6.0 74 6/24/2026
1.5.0 62 6/16/2026
1.4.0 61 6/15/2026
1.3.0 75 5/29/2026
1.1.1 63 5/25/2026
1.1.0 65 5/22/2026
1.0.19 68 5/20/2026
1.0.18 58 5/20/2026
1.0.17 58 5/20/2026
1.0.15 63 5/20/2026
Loading failed

v3.0.0: 随 Healnet 统一升版至 3.0.0(破坏性变更来自 Healnet.Common:AESCrypto 移除无参重载、AESDecrypt 改返回元组)。v2.0.7: SqlSugar EntityMapper 可插拔化(IEntityMapper 接口)/ BusinessConfig + BusinessExample 迁出至业务项目 / ConversationArchive 泛化 / EntityService PropertyInfo 类型比较 bug 修复。v2.0.6: 新增 Milvus 向量数据库封装(IMilvusService / MilvusService / MilvusOptions / MilvusExtensions / MilvusHealthCheck),支持集合管理、向量索引、近似检索(ANN)、标量查询、批量写入与健康检查。v2.0.3: 统一三库版本号;升级目标框架至 net10.0;更新所有依赖包至最新稳定版;移除 Infrastructure 项目中多余的 MSBuild 属性。v2.0.1: 依赖包版本升级,修复若干已知问题。v2.0.0: 重大版本更新,目标框架从 net8.0 升级至 net10.0,全面更新依赖包版本,优化 API 设计。