.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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM