Plus.AspNetCore.MultiTenancy 11.0.0-preview.1

PlusFramework

PlusFramework 是一个面向企业后端的 .NET 自研模块化单体框架。

当前仓库已经进入发布候选治理阶段,按“源码、测试、模板、包清单和统一门禁使用同一事实源”的方式收敛新版主线。

当前状态

当前源码已实现的运行时模块:

  1. Plus.Core:模块系统、生命周期、DI 约定和基础异常。
  2. Plus.Domain:实体、聚合根、领域服务、仓储抽象和领域异常。
  3. Plus.EntityFrameworkCoreDbContext 基类、EF Core 仓储、实体约定、软删除过滤和 UOW 事务集成。
  4. Plus.EntityFrameworkCore.PostgreSqlPlus.EntityFrameworkCore.SqlServerPlus.EntityFrameworkCore.MySqlPlus.EntityFrameworkCore.Sqlite:数据库 provider 薄扩展。
  5. Plus.Dapper:轻量 Dapper 基础设施,提供命名连接、provider、connection factory、executor、动态连接描述、本地事务和 timeout 传递。
  6. Plus.Uow:工作单元、嵌套 UOW、RequiresNew 和参与者协议。
  7. Plus.Application:应用服务标记、运行时基类和应用层异常。
  8. Plus.Validation:对象验证、调用参数验证和结构化验证异常。
  9. Plus.AspNetCore:ASP.NET Core 宿主桥接、生命周期托管和基础 ProblemDetails
  10. Plus.AspNetCore.Mvc:Controller 装配、MVC conventions、应用/领域异常到 ProblemDetails 的映射。
  11. Plus.AspNetCore.Uow:endpoint-aware 请求级 UOW middleware。
  12. Plus.AspNetCore.OpenApi:显式 Controller 的 OpenAPI JSON、模块分组和 XML 注释接入。
  13. Plus.DataSeeding:面向 DbMigrator / CLI 的显式数据初始化编排。
  14. Plus.EventBus:本地事件总线、分布式事件契约和事件名称。
  15. Plus.EventBus.EntityFrameworkCore:EF Core Outbox / Inbox、显式 dispatcher 和多实例数据库 claim。
  16. Plus.CachingPlus.RedisPlus.Caching.RedisHybridCache、Redis 连接底座和 Redis-backed L2 缓存接入。
  17. Plus.DistributedLockPlus.DistributedLock.Redis:分布式锁抽象和 Redis provider。
  18. Plus.EventBus.RabbitMQ:RabbitMQ 分布式事件 transport provider。
  19. Plus.BackgroundTasksPlus.BackgroundTasks.ManagementPlus.BackgroundTasks.HangfirePlus.BackgroundTasks.Quartz:后台任务抽象、默认 in-process provider、Work 控制面与 Hangfire / Quartz provider。
  20. Plus.Security:当前用户上下文和 Claims 访问。
  21. Plus.Authorization:权限定义、权限检查、ASP.NET Core authorization policy 接入和授权异常映射。
  22. Plus.AuditingPlus.Auditing.EntityFrameworkCore:安全审计运行时、HTTP 请求级上下文、用户/租户事实、实体变化采集、UOW rollback 结果和 host 中央库 EF store;不公开默认审计查询 API。
  23. Plus.Serilog:Serilog provider 接入与 PlusFramework Logging 短配置适配,Console 和 File 默认开启。
  24. Plus.BlobStoringPlus.BlobStoring.FileSystemPlus.BlobStoring.Minio:Blob 存储核心、本地文件系统 provider 和 MinIO / RustFS / S3-compatible provider。
  25. Plus.MultiTenancyPlus.AspNetCore.MultiTenancyPlus.EntityFrameworkCore.MultiTenancy:多租户运行时、HTTP 解析和 EF Core 数据隔离三层边界。

Plus.Application 统一拥有应用服务基础能力和分页 DTO。业务 Contracts 可以为复用这些稳定 DTO 直接建立编译引用,但保持普通 class library,不继承运行时 IApplicationService,也不因此进入 Module 图。

TenantManagement 已作为源码业务模块提交到仓库:Contracts、Domain、Application、EntityFrameworkCore、HttpApi 五个分层项目提供租户管理面、数据库型 ITenantStore、host scope、连接字符串 Data Protection 静态保护和稳定错误契约。Contracts 承载稳定外交语言,Application 保留 internal 工作语言类型;五个项目显式设置 IsPackable=false,不进入 PlusFramework NuGet 发布清单;已提交源码也不等于已打包或已发布。

这些已实现模块不等于默认模板第一屏全部启用。SecurityAuthorizationAuditingCachingRedisDistributedLockDapper、BlobStoring、RabbitMQ transport 和后台任务 provider 等能力仍按“显式安装、显式配置、显式接入”使用。

当前发布候选工程:

  1. eng/package-manifest.json:唯一发布清单,固定 39 个 Plus.* 运行时包和 1 个 Plus.Templates 包。
  2. eng/pack-local.ps1:统一打包可发布的 src/ 项目和模板,并校验 40 包、metadata、README、repository commit 与内部依赖版本;modules/ 下显式不可打包的源码业务模块不进入清单。
  3. eng/verify-templates.ps1:在隔离 custom hive 中安装、卸载和实例化本地模板包,强制生成项目消费本次本地 Plus.* nupkg。
  4. eng/verify-release.ps1:restore、build、test、format、漏洞、独立样例、模板、pack 和包清单的单一门禁入口;CI 只调用该脚本。
  5. eng/push-baget.ps1:发布前使用同一清单检查本地包和远端同版本;本次整改不执行推送。

状态必须分开理解:

  1. 候选实现:开发工作区中的代码和文档;存在未提交改动时不属于可发布候选。
  2. 已提交实现:以干净且可追溯的 Git HEAD 为准,不能用工作区候选替代。
  3. 发布包集合:当前 manifest 固定 39 个运行时包和 1 个模板包,共 40 个目标 nupkg;TenantManagement 五个源码项目不进入包清单。
  4. 已发布:整改后的 11.x 新基线尚未推送 BaGet,也未创建 Git tag;旧 10.0.x 包不属于兼容目标。
  5. 统一门禁:eng/verify-release.ps1 只接受干净、已提交且执行期间不变的 HEAD;具体测试、跳过项、包和 commit 结果由 verify-summary.json 与 CI artifact 记录,不在 README 复制易过期数字。

当前方向

  1. 自研框架。
  2. 模块化单体。
  3. ASP.NET Core 默认宿主。
  4. Microsoft DI 默认容器。
  5. EF Core 默认 ORM。
  6. 显式 Controller 默认 API 入口。
  7. 不考虑微服务路线。
  8. 不恢复 Autofac、Castle、DynamicProxy 或方法级 AOP。

文档入口

  1. PlusFramework 总纲
  2. 模块设计文档索引
  3. 代码规范
  4. 模块规范
  5. 模块分层与契约边界
  6. 测试规范
  7. 发布与验证

发布前必须在干净、已提交、可追溯的候选上重新执行 eng/verify-release.ps1,审视所有真实外部服务跳过项;push-baget.ps1 会再次校验工作区和包内 RepositoryCommit,之后再由用户显式决定推送和 tag。

No packages depend on Plus.AspNetCore.MultiTenancy.

Version Downloads Last updated
11.0.0-preview.2 8 07/15/2026
11.0.0-preview.1 4 07/14/2026