Ledon Framework

.NET 10 模块化 Web 开发框架。解耦优先,靠自动发现和自动注入,把心智负担降到几行接入代码;能力拆成独立包,用哪个引哪个。

30 秒上手

var builder = WebApplication.CreateBuilder(args);
builder.AddLedonWeb(o => o.UseOpenApi = true);   // 模块 + 端点/控制器 + OpenAPI
builder.Services.AddLedonData();                 // 数据访问(按需)

var app = builder.Build();
app.UseLedonWeb();
app.Run();

没有 AddModule、没有 AddControllers、没有 MapGet——模块、服务、事件处理器、端点全部按约定自动接线。

文档导航

主题 内容
快速开始 安装、第一个应用、运行示例
模块系统 IModule、依赖排序、生命周期、事件
自动发现 允许列表规则、约定注册、逃生门
Web 开发 端点、控制器、API 规范化、CORS
数据与发件箱 EF Core、Outbox 至少一次投递
统一事务入口 IUnitOfWork + Saga:本地/分布式同一种写法
工作流引擎 多步骤编排、重试、Saga 补偿、重启恢复
平台服务 分布式锁/功能开关/文件存储/通知/多语言/操作审计/CQRS 管线/运维端点
飞书/Socket/SIP 飞书通知与事件回调、TCP/UDP 与帧/包编解码、SIP 解析
流媒体 独立媒体面:RTMP 推拉流 + HTTP-FLV/HLS、令牌鉴权、在线状态、事件与踢人
扩展能力包 Webhook、通知渠道、ID、播种、设置、搜索、外部登录、租户管理、列加密、Testcontainers、配额、账号/TOTP、出站客户端、Vault、CSV/Excel、图像、搜索同步、迁移、幂等、RBAC、API 版本化
可靠投递 发件箱清理/死信、收件箱去重
gRPC 服务间通信:自动发现与约定映射
Kafka 发件箱 ↔ Kafka 跨服务投递
缓存 内存 single-flight / 分布式 Redis
后台队列 Channel 队列 + 发件箱投递
定时任务 cron 驱动(5/6 段)、失败隔离
认证授权 JWT + API Key + 权限策略
可观测性 OTel 链路/指标、框架 span、健康检查
弹性策略 重试/超时/熔断,接管全部 HttpClient
强类型配置 绑定 + 启动校验
多租户 租户解析 + 后台穿透
测试基建 TestServer 宿主 + 生命周期断言

能力包

模块系统(Ledon.Module)、Web(Ledon.Web)、数据(Ledon.Data)、缓存(Ledon.Caching)、队列与发件箱(Ledon.Queues)、RabbitMQ 传输(Ledon.Queues.RabbitMQ)、Kafka 传输(Ledon.Queues.Kafka)、定时任务(Ledon.Scheduling)、认证授权(Ledon.Security)、OIDC 服务器(Ledon.OpenIddict)、可观测性(Ledon.Observability)、结构化日志(Ledon.Serilog)、弹性策略(Ledon.Resilience)、配置(Ledon.Configuration)、Nacos/Apollo 配置中心(Ledon.Configuration.Nacos/Ledon.Configuration.Apollo)、多租户(Ledon.MultiTenancy)、测试基建(Ledon.Testing)、云原生默认值(Ledon.Aspire)、实时推送(Ledon.SignalR)、gRPC(Ledon.Grpc)。

详见 README 的能力矩阵。