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,您会发现大量活动和配置,以根据您的需求定制工作流。

在本文档中