Aegis 3.x 文档中心
Aegis 是一套模块化的 .NET 业务开发框架。宿主启动、数据访问、认证鉴权、缓存、任务调度、文档处理、链路追踪这些能力都做成了独立的 NuGet 组件,业务项目引用哪个包就得到哪个能力,不用的不进工程。
默认基线是 .NET 8 + Aegis 3.1.x。
快速上手是什么样
接入 Aegis 的业务项目,起步主线就四步:
- 从私有 NuGet 源引用需要的 Aegis 组件包
Program.cs里一行AegisApplication.Run(args),宿主启动交给框架Startup里配数据库源与仓储注入,appsettings.json给连接串- 写一个继承
ApiControllerBase的控制器,在 Swagger 里调通
组件的启用通过项目里的 Component.deps.json 声明,一份 Load 清单同时决定服务注册与中间件装配,装配顺序由框架按依赖与优先级排定。完整步骤和排查方法见快速开始。
按你的来意选路
- 刚接手项目,想先把系统跑起来:看快速开始,走完宿主、数据库、Swagger、日志的第一版闭环。
- 想先弄清楚框架长什么样:看入门和层次介绍。
- 要找某个具体能力:看组件索引,或直接用下面能力全景里的链接。
- 准备上线部署:看部署。
框架能力全景
组件手册按能力域分 8 个分组,共 46 篇,链接如下。
应用与基础设施 —— 业务服务契约、配置管理、上下文传递、跨域、日志、接口文档、容错策略、自定义组件
应用服务 · 配置 · 元OS 配置中心 · 上下文 · 基础设施 · 跨域支持 · 日志 · Swagger 文档扩展 · Polly 容错扩展 · 自定义组件注入
认证与鉴权 —— Bearer Token 认证管线、授权策略、SSO/JWT/ESS 多方案、分布式会话
基础认证 · 基础授权 · SSO 认证 · ESS 认证鉴权 · JWT 认证 · Redis 用户会话 · 自定义实现指南
数据与状态 —— 多级缓存、分布式 ID 生成、FreeSql ORM 数据访问
Redis 缓存 · FreeSql 数据访问 · 字段自动赋值 · ID 生成器
通信与集成 —— 声明式 HTTP 客户端、实时双向通信、进程内/分布式事件总线、RocketMQ
远程调用客户端 · 实时通信 · 事件总线 · CAP 事件总线 · RocketMQ 客户端
调度与可观测 —— 延迟任务调度、Prometheus 指标、OpenTelemetry 追踪、结构化日志、外部调度平台
任务调度 · Postgres 任务存储扩展 · SqlServer 任务存储扩展 · 任务迁移指南 · 外部调度平台接入 · Prometheus 指标监控 · OpenTelemetry 链路追踪 · UMeta 结构化日志
文档与文件 —— 文档格式转换、模板渲染、在线编辑、多后端文件管理
文档处理 · LibreOffice 文档转换 · OFD 文档转换 · Playwright 文档转换 · OpenXml 文档编辑 · Razor 文档渲染 · 文件管理 · NAS 文件存储 · S3 文件存储
AI 与智能集成 —— MCP 协议集成、LLM Agent 接入、AI 能力双向复用
安全与工具 —— 操作审计日志、数据加密解密、通用状态机、条码与二维码生成
另有业务组件扩展,走独立发布线:系统参数设置(含 HTTP 拉取与缓存、Redis 扩展)、模板 ID 生成(含 Redis 扩展)。
业务项目的分层
Aegis 项目的业务代码分四层,每层有对应文档:
- Controller —— 统一响应基类与成功/失败返回
- Services 与 Contract —— 业务服务契约与实现,含 ServiceResult、PagedResult
- Dto 数据传输层 —— 接口的入参出参
- Repository 层 —— 基于 FreeSql 的仓储,
AddDbSource/AddDbRepositories注册
框架侧由宿主(AegisApplication.Run)、Component.deps.json 组件装配和 Startup 承担,整体结构见层次介绍。
环境与版本基线
- 运行时与 SDK:.NET 8(net8.0)
- NuGet 包源:私有 Nexus 源,配置方法见 NUGET 与 NUGET 源设置
- 数据库:数据访问基于 FreeSql,文档覆盖 PostgreSQL、SQL Server、KingbaseES(任务存储后端)
- 缓存与会话:Redis 相关组件依赖 Redis 实例
- 版本线:Aegis 3.1.x,各包版本策略见 Changelog
建议阅读顺序
看到什么算跑通了
做到下面这些,基本就算第一版跑通:
Program.cs使用AegisApplication.Run(args)- 项目包含正确的
Component.deps.json Startup完成数据库源与仓储注入appsettings.json能提供数据库与 Swagger 配置NLog.config能正常输出日志- 任意一个最小 Controller 可以在 Swagger 中调通
做到这里,再去看组件文档和部署文档会轻松很多。
看文档时记住两点
- 文档里如果出现
His.*,是在举业务项目结构例子,不是在讲 Aegis 源码仓。 - 这套文档从"跑起来"讲起,但不止于跑起来:跑通之后,按组件手册逐个接入需要的能力。