基于 Elsa Server 的 ASP.NET Core 工作流服务。
ElsaDemo/
├── docs/ # 学习文档
└── ElsaServer/ # Elsa 工作流服务端
├── Program.cs # Elsa 配置与中间件
└── Workflows/ # 代码定义的工作流
├── HelloWorldWorkflow.cs
└── LeaveApprovalWorkflow.cs # 请假审批(If/Switch/ForEach/Parallel)
- REST API 管理工作流(
Elsa.Workflows.Api) - SQLite + EF Core 持久化
- HTTP / 定时调度活动
- C#、JavaScript、Liquid 表达式
- SignalR 实时推送(可对接 Elsa Studio)
- 示例工作流:
GET /workflows/hello— Hello WorldPOST /workflows/leave-requests— 请假审批(分支 / 循环 / 并行)
cd ElsaServer
dotnet run --urls "https://localhost:5001"启动后可访问:
| 地址 | 说明 |
|---|---|
| https://localhost:5001/workflows/hello | Hello World |
| https://localhost:5001/workflows/leave-requests | 请假审批(POST + JSON) |
| https://localhost:5001/elsa/api | Elsa REST API(需认证) |
请假提交示例:
curl -k -X POST https://localhost:5001/workflows/leave-requests \
-H "Content-Type: application/json" \
-d '{"leaveRequestId":"LR-001","applicant":"张三","days":5,"reason":"回家办事","leaveType":"annual","cc":["hr@acme.com","team@acme.com"]}'演示环境使用 Admin API Key / Admin 用户提供程序。生产环境请更换 SigningKey,并限制 CORS 来源。
- Code-first 请假审批工作流学习指南(术语、控制流、执行管线、时序图、开发步骤)