Healnet.Infrastructure 2.0.5

There is a newer version of this package available.
See the version list below for details.
dotnet add package Healnet.Infrastructure --version 2.0.5
                    
NuGet\Install-Package Healnet.Infrastructure -Version 2.0.5
                    
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="2.0.5" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Healnet.Infrastructure" Version="2.0.5" />
                    
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 2.0.5
                    
#r "nuget: Healnet.Infrastructure, 2.0.5"
                    
#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@2.0.5
                    
#: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=2.0.5
                    
Install as a Cake Addin
#tool nuget:?package=Healnet.Infrastructure&version=2.0.5
                    
Install as a Cake Tool

Healnet.Infrastructure 基础设施模块

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

概述

Healnet.Infrastructure 是 Healnet 微服务框架的基础设施实现层,对 23 个 中间件/基础设施组件进行了统一封装,提供一致的 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
缓存锁 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
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)
├── 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

近期变更(2.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.1.0 48 7/24/2026
3.0.1 57 7/23/2026
3.0.0 51 7/16/2026
2.0.7 60 7/10/2026
2.0.5 64 7/8/2026
2.0.3 68 6/30/2026
2.0.1 68 6/30/2026
2.0.0 67 6/29/2026
1.7.3 61 6/29/2026
1.7.2 65 6/25/2026
1.7.1 62 6/25/2026
1.7.0 66 6/25/2026
1.6.0 77 6/24/2026
1.5.0 64 6/16/2026
1.4.0 63 6/15/2026
1.3.0 78 5/29/2026
1.1.1 68 5/25/2026
1.1.0 70 5/22/2026
1.0.19 70 5/20/2026
1.0.18 64 5/20/2026
Loading failed

v2.0.3: 统一三库版本号;升级目标框架至 net10.0;更新所有依赖包至最新稳定版;移除 Infrastructure 项目中多余的 MSBuild 属性。v2.0.1: 依赖包版本升级,修复若干已知问题。v2.0.0: 重大版本更新,目标框架从 net8.0 升级至 net10.0,全面更新依赖包版本,优化 API 设计。