Elsa 控制台应用程序
Elsa
工作流可以无缝集成到控制台应用程序中,提供了一种轻量级的方式来运行工作流。本指南将引导您完成在控制台应用程序中设置 Elsa
和运行简单工作流的过程。
初始设置
1. 创建一个新的控制台应用程序
首先,创建一个针对 .NET 8.0
的新控制台应用程序:
dotnet new console -n "ElsaConsole" -f net8.0
导航到新创建项目的根目录:
cd ElsaConsole
2. 安装 Elsa NuGet 包
为了将 Elsa
集成到您的控制台应用程序中,请添加 Elsa NuGet
包:
dotnet add package Elsa
配置 Elsa
1. 更新 Program.cs
打开 Program.cs
并将其内容替换为以下代码以设置 Elsa:
using Elsa.Extensions;
using Elsa.Workflows.Activities;
using Elsa.Workflows.Contracts;
using Microsoft.Extensions.DependencyInjection;
// 设置服务容器。
var services = new ServiceCollection();
// 将 Elsa 服务添加到容器中。
services.AddElsa();
// 构建服务容器。
var serviceProvider = services.BuildServiceProvider();
这段代码设置了服务容器并向其中添加了 Elsa
服务。serviceProvider
将允许我们解析 Elsa
服务并运行工作流。
2. 定义并运行工作流
为了测试 Elsa
的功能,在 Program.cs
中追加以下代码:
// 定义一个简单的写入消息到控制台的工作流。
var workflow = new WriteLine("你好,世界!");
// 解析工作流运行器以执行工作流。
var workflowRunner = serviceProvider.GetRequiredService<IWorkflowRunner>();
// 执行工作流。
await workflowRunner.RunAsync(workflow);
运行程序应该显示:
你好,世界!
3. 实验工作流
Elsa 的灵活性使您可以定义更复杂的工作流。例如,将 workflow
变量替换为以下活动序列:
var workflow = new Sequence
{
Activities =
{
new WriteLine("你好,世界!"),
new WriteLine("再见了,残酷的世界...")
}
};
现在执行程序应该产生:
你好,世界!
再见了,残酷的世界...
此示例演示了如何在序列中串联多个活动。随着您深入研究 Elsa
,您会发现大量活动和配置,以根据您的需求定制工作流。