github上有一个开源的工作流项目elsa,elsa-core是core语言的版本,其文档因为是英文,因此会让很多人不想看,或者是看不下去,从这篇文章开始我将开始对elsa-core的文档翻译成中文并分享出来,方便大家查看与学习。
以下为正文:
在本快速入门中,我们将了解一个执行工作流的最小控制台应用程序。
接下来我们将:
使用 Elsa 的 Workflow Builder API 以编程方式定义在控制台上显示文本“Hello World”的工作流定义。
运行工作流。
项目
创建一个名为 ElsaQuickstarts.ConsoleApp.HelloWorld 的新 .NET Core 控制台项目:
dotnet new console -n "ElsaQuickstarts.ConsoleApp.HelloWorld"
CD 到创建的项目文件夹中:
cd ElsaQuickstarts.ConsoleApp.HelloWorld
添加以下包:
dotnet add package Elsadotnet add package Elsa.Activities.Console
工作流程
创建一个名为 HelloWorld.cs 的新文件并添加以下代码:
using Elsa.Activities.Console;
using Elsa.Builders;namespace ElsaQuickstarts.ConsoleApp.HelloWorld
{/// <summary>/// A basic workflow with just one WriteLine activity./// </summary>public class HelloWorld : IWorkflow{public void Build(IWorkflowBuilder builder) => builder.WriteLine("Hello World!");}
}
上述工作流程只有一个步骤(也称为活动):WriteLine,它将一行文本写入标准输出(控制台)。
程序
打开 Program.cs 并将其内容替换为以下内容:
using System.Threading.Tasks;
using Elsa.Services;
using Microsoft.Extensions.DependencyInjection;namespace ElsaQuickstarts.ConsoleApp.HelloWorld
{class Program{private static async Task Main(){// Create a service container with Elsa services.var services = new ServiceCollection().AddElsa(options => options.AddConsoleActivities().AddWorkflow<HelloWorld>()).BuildServiceProvider();// Get a workflow runner.var workflowRunner = services.GetRequiredService<IBuildsAndStartsWorkflow>();// Run the workflow.await workflowRunner.BuildAndStartWorkflowAsync<HelloWorld>();}}
}
运行
运行程序并观察以下输出:
Hello world!
成功!您已成功创建并执行 Elsa 工作流程。
如果觉得不错,可以推荐收藏一下,让我也更有动力。
相关文章:
推荐一个很棒的开源工作流elsa-core
.NET 5 开源工作流框架elsa技术研究
小试elsa