6

elsa-core——1.Hello World:Console

 3 years ago
source link: https://www.cnblogs.com/jingboweilan/p/15145729.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

elsa-core——1.Hello World:Console

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK