Healnet.Infrastructure 6.2.0

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

Healnet.Infrastructure 基础设施层

版本: 5.0.0 | 依赖: Healnet.Core → Healnet.Common | TFM: net10.0 | License: MIT

Healnet.Infrastructure 是 Healnet 微服务框架的基础设施实现层:对 26 个中间件/基础设施组件提供统一封装与 DI 注册约定,实现 Healnet.Core 定义的抽象契约(ICacheService、IUnitOfWork、ITokenService、IHttpClientService、IConsulService、ISessionChatClient 等)。契约在 Core、实现在本层(DIP);AI 抽象位于 Healnet.Core.AI / Healnet.Core.AI.Memory,本层 AI/ 仅含实现。

安装与最小接入

dotnet add package Healnet.Infrastructure
// Program.cs —— 业务服务推荐的两行入口(Service Defaults)
builder.AddHealnetServiceDefaults();   // 日志 / Consul / gRPC 转码 / MVC / JWT / 健康检查 / Swagger / Kestrel
// ...
app.UseHealnetServiceDefaults();       // 请求日志 → 全局异常 → CorrelationId → 认证授权 → 端点映射 → Consul 注册

按需细粒度接入时,各模块独立 AddXxx(见下表),配置节点统一约定在 Healnet:<模块>。

模块目录

模块 一句话定位 README
Extensions 聚合注册入口 + Service Defaults(推荐接入点) Extensions/README.md
Authentication JWT 令牌 + API Key 认证 Authentication/README.md
Security 安全响应头 + CORS Security/README.md
SqlSugar ORM:多库连接 + 泛型仓储 SqlSugar/README.md
UnitOfWork SqlSugar 事务工作单元 UnitOfWork/README.md
MongoDB 多租户文档数据库 MongoDB/README.md
ElasticSearch NEST 全文搜索封装 ElasticSearch/README.md
Milvus 向量数据库(ANN 检索) Milvus/README.md
Redis 分布式缓存 + Lua 分布式锁 Redis/README.md
RabbitMQ 消息队列(发布/订阅/死信) RabbitMQ/README.md
OSS 阿里云对象存储(IFileService 实现) OSS/README.md
Consul 服务注册/发现/健康检查 Consul/README.md
Http HttpClient + Polly 弹性 + Consul 发现 Http/README.md
YARP API 网关(静态路由/Consul 动态发现) YARP/README.md
gRPC 通道缓存 + 强类型客户端封装 gRPC/README.md
Logging Serilog 结构化日志 Logging/README.md
OpenTelemetry Tracing/Metrics/Logging 三件套 OpenTelemetry/README.md
HealthChecks 多组件健康检查(统一 JSON) HealthChecks/README.md
Middleware 请求日志 / 关联 ID 中间件 Middleware/README.md
Resilience Polly 重试/熔断/限流策略 Resilience/README.md
AOP AspectCore 内置拦截器族 AOP/README.md
Swagger API 文档(含 gRPC Transcoding 文档) Swagger/README.md
AI MEAI 统一会话链路 + 记忆分层 AI/README.md
Skill Skill 模板加载/解析/渲染(一句话 README) Skill/README.md
Helpers gRPC 客户端 IP 提取等静态助手(一句话 README) Helpers/README.md
Mvc 模型校验统一 ApiResponse(一句话 README) Mvc/README.md

gRPC 客户端完整调用案例(多层嵌套消息 / 流式 / Swagger JSON 对照)见 Swagger/GRPC_EXAMPLE.md。

版本策略

  • 三库(Common / Core / Infrastructure)统一版本号发布;PackageReleaseNotes 逐版本记录缺陷修复与兼容性说明,历史明细用 git log 追溯。
  • 破坏性变更集中在主版本(3.0 / 5.0);4.x 内的 DI 生命周期调整等行为变化均在该版本 ReleaseNotes 中显式标注兼容性。

架构约定(精简版)

  • 契约在 Core,实现在 Infrastructure:本层各模块 README 顶部均标注对应的 Core 抽象来源。
  • OSS 替换 Common 的 IFileService:AddAliyunOssFileService 经 services.Replace 切换实现。
  • 过时成员已标 [Obsolete]:如 Middleware 的 UseExceptionHandling / UseHealthCheck,替代指引见各模块 README「⚠️ 常见坑」。
  • 各模块 README 只保留「快速上手」:一句话定位 + 3 步接入 + 最小配置 + 常见坑;API 签名细节看代码 IntelliSense(包内随带 XML 注释)。
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
6.2.0 36 11/11/2026
6.1.0 42 11/11/2026
6.0.1 53 11/10/2026
6.0.0 77 11/5/2026
5.3.0 64 11/5/2026
5.2.0 55 11/5/2026
5.1.1 60 11/5/2026
5.1.0 54 11/5/2026
5.0.0 66 11/4/2026
4.0.40 62 11/4/2026
4.0.39 63 11/4/2026
4.0.38 61 11/3/2026
4.0.37 60 11/3/2026
4.0.36 59 11/3/2026
4.0.35 65 11/3/2026
4.0.34 55 11/3/2026
4.0.33 61 11/3/2026
4.0.32 54 11/3/2026
4.0.31 60 11/3/2026
4.0.30 60 11/3/2026
Loading failed

v6.2.0: 手写管线等价入口。① 背景:6.1.0 已把 gRPC 标准健康服务(grpc.health.v1.Health)三件套收编进 Service Defaults,但不走 ServiceDefaults 的手写管线(自行 AddGrpc/MapGrpcService/ConfigureKestrel/UseConsul 的服务)仍需自行拼装——漏掉 HealthCheckPublisherOptions.Delay=0(启动盲窗,Consul 首轮 GRPC 探测 critical 一次)或 self 兜底(零条目报告经 gRPC 映射解析为 Unknown,探测恒 critical)就会踩回 6.1.0 修复前的坑。② 新增三入口(幂等防重):AddHealnetConsulGrpcHealth()——收编三件套(官方 AddGrpcHealthChecks + Delay=0 + 恒 Healthy self 检查)并内置 AddGrpc() 保障(MapGrpcService* 映射时校验官方 GrpcMarkerService,缺失即抛 InvalidOperationException,此前 gRPC/README 给出的手工配方即含此坑);UseHealnetConsulGrpcHealth()——映射 /grpc.health.v1.Health/{Check,Watch} + 装配诊断(漏调 Add 侧记 Error、GrpcHealthCheckEnabled=true 但缺 GrpcPort 记 Warning);AddHealnetGrpcKestrelPorts()——Service Defaults Kestrel 双端口策略等价形态(读 Healnet:Consul:ServicePort/GrpcPort,双端口 HTTP + HTTP/2 Only,单端口退化记 Error),enableGrpc 缺省自动探测入口程序集。③ ServiceDefaultsExtensions 同源重构:Add 侧 3.1 与第 9 步、Use 侧健康映射改为调用同一实现,两条路径字面等价。④ 新增 Healnet.Example.HandwrittenGrpc 手写管线参考模板(ProjectReference 直引本地源码,便于发布前 E2E 直接验证;复制到外部解决方案按 csproj 注释换 NuGet 包引用)+ E2E 用例(含裸 gRPC wire Health/Check → SERVING 断言)。无破坏性行为变更(纯新增 API + ServiceDefaults 内部同源重构,ServiceDefaults 路径仅新增装配诊断日志)。