.Net工作流elsa-workflows官方文档学习:一个简单的Hello World工作流
网页:https://elsa-workflows.github.io/elsa-core/docs/guides-hello-world-console
在本节中,我们将执行以下操作:
- 以编程方式定义一个工作流,该定义将文本“ Hello World”显示到控制台。
- 运行工作流。
让我们开始吧!
创建控制台项目
创建一个名为Elsa.Guides.HelloWorld.ConsoleApp的新.NET Core控制台项目,并添加以下软件包:
- Elsa.Core
- Elsa.Activities.Console
定义工作流
打开Program.cs并插入以下代码:
using System; using System.Threading.Tasks; using Elsa.Activities.Console.Activities; using Elsa.Activities.Console.Extensions; using Elsa.Expressions; using Elsa.Extensions; using Elsa.Services; using Microsoft.Extensions.DependencyInjection; namespace Elsa.Guides.HelloWorld.ConsoleApp { class Program { static async Task Main(string[] args) { // Setup a service collection. var services = new ServiceCollection() // Add essential workflow services. .AddElsa() // Add Console activities (ReadLine and WriteLine). .AddConsoleActivities() .BuildServiceProvider(); // Get a workflow builder. var workflowBuilder = services.GetRequiredService<IWorkflowBuilder>(); // Define a workflow and add a single activity. var workflowDefinition = workflowBuilder .StartWith<WriteLine>(x => x.TextExpression = new LiteralExpression("Hello world!")) .Build(); // Get a workflow invoker, var invoker = services.GetService<IWorkflowInvoker>(); // Start the workflow. await invoker.StartAsync(workflowDefinition); // Prevent the console from shutting down until user hits a key. System.Console.ReadLine(); } } }
运行
运行该程序时,应该看到以下输出:
Hello world!
总结
在本节中,我们了解了如何创建简单的控制台应用程序以及如何使用IWorkflowBuilder实现一个工作流。 然后,我们使用IWorkflowInvoker执行工作流。
源码
https://github.com/elsa-workflows/elsa-guides/tree/master/src/Elsa.Guides.HelloWorld.ConsoleApp