zoukankan      html  css  js  c++  java
  • 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 工作流程。

    如果觉得不错,可以推荐收藏一下,让我也更有动力。
  • 相关阅读:
    查找1
    动态规划
    分治
    [LeetCode] 1339. Maximum Product of Splitted Binary Tree
    [LeetCode] 1509. Minimum Difference Between Largest and Smallest Value in Three Moves
    [LeetCode] 233. Number of Digit One
    [LeetCode] 1963. Minimum Number of Swaps to Make the String Balanced
    [LeetCode] 1053. Previous Permutation With One Swap
    [LeetCode] 1962. Remove Stones to Minimize the Total
    [LeetCode] 1961. Check If String Is a Prefix of Array
  • 原文地址:https://www.cnblogs.com/jingboweilan/p/15145729.html
Copyright © 2011-2022 走看看