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 Elsa
dotnet 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 工作流程。