.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();
        }
    }
}
View Code

运行

运行该程序时,应该看到以下输出:

Hello world!

总结

在本节中,我们了解了如何创建简单的控制台应用程序以及如何使用IWorkflowBuilder实现一个工作流。 然后,我们使用IWorkflowInvoker执行工作流。

源码

https://github.com/elsa-workflows/elsa-guides/tree/master/src/Elsa.Guides.HelloWorld.ConsoleApp

 

posted @ 2021-02-22 17:07  顺其自然,道法自然  阅读(1641)  评论(0编辑  收藏  举报