| name | abp-pro-infrastructure |
| description | 本项目的基础设施集成规则。修改 CAP 分布式事件、Hangfire、Redis、SignalR、后台任务、租户传播、事务 Outbox 或 Host 集成时使用。 |
ABP Pro 基础设施
CAP 分布式事件
- 使用
Lion.AbpPro.CAP,不要在局部任务中替换消息总线。
- 发布消息时保留
AbpProCapConsts.Tenant 租户 Header。
- 保留 Unit of Work、直接发布、延迟发布和 CAP 事务 Outbox 的区别。
- 动态事件必须保留调用方传入的事件名,并向 CAP 发送原始 payload,不要把
DynamicEventData 包装对象直接作为业务消息。
- 修改
AbpProCapDistributedEventBus 时,同时兼容当前 ABP 版本的 CLR 类型事件和字符串事件 API。
后台任务
- 使用所属模块已有的 ABP Background Jobs 或 Hangfire 集成。
- 可能重试的任务应保持幂等。
- 通过既有事件或任务机制显式传递租户上下文。
Redis、SignalR 和 Host
- 共享基础设施在合适的 Host 或框架模块中配置,遵循现有 Options 和模块依赖。
- 不把业务行为放入基础设施适配器。
- 未经明确要求,不新增 OpenIddict、IdentityServer 或其他身份认证栈。
验证
共享基础设施修改后按顺序执行:
dotnet build aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion.AbpPro.CAP.csproj --no-restore
dotnet build aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/Lion.AbpPro.HttpApi.Host.csproj --no-restore
dotnet build aspnet-core/gateways/Lion.AbpPro.WebGateway/Lion.AbpPro.WebGateway.csproj --no-restore