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 Elsadotnet 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 工作流程。
如果觉得不错,可以推荐收藏一下,让我也更有动力。
相关文章:
推荐一个很棒的开源工作流elsa-core
.NET 5 开源工作流框架elsa技术研究
小试elsa
elsa-core——1.Hello World:Console相关推荐
- 【转载】从头编写 asp.net core 2.0 web api 基础框架 (1)
工具: 1.Visual Studio 2017 V15.3.5+ 2.Postman (Chrome的App) 3.Chrome (最好是) 关于.net core或者.net core 2.0的相 ...
- 【 .NET Core 3.0 】框架之二 || 后端项目搭建
前言 至于为什么要搭建.Net Core 平台,这个网上的解释以及铺天盖地,想了想,还是感觉重要的一点,跨平台,嗯!没错,而且比.Net 更容易搭建,速度也更快,所有的包均由Nuget提供,不再像以前 ...
- 从头编写 asp.net core 2.0 web api 基础框架 (1)
工具: 1.Visual Studio 2017 V15.3.5+ 2.Postman (Chrome的App) 3.Chrome (最好是) 关于.net core或者.net core 2.0的相 ...
- 网站部署后无法访问sqlserver_.NET Core跨平台部署
1. Windows-IIS 大家对于在IIS上部署.NET站点已经驾轻就熟了,部署.NET Core也没有什么本质区别,但是这其中仍然有一些细节是不同的,下面记录了一些我在部署时遇到的问题 1.1 ...
- .NET Core跨平台部署
.NET Core跨平台部署 原文:.NET Core跨平台部署 .NET Core跨平台部署 1. Windows-IIS 大家对于在IIS上部署.NET站点已经驾轻就熟了,部署.NET Core也 ...
- java jdk1.6的新特性 DeskTop SystemTray Console类 Compiler API Http Server API
DeskTop DeskTop类允许一个Java应用程序启动本地的另一个应用程序去处理URI或文件请求 Desktop desktop=Desktop.getDesktop(); //判断是否支持桌面 ...
- flask异步操作_Python Flask后端异步处理(三)
前一篇博文我们已经将基础知识和环境配置进行了介绍: 首先编写一个celerytask.py文件进行Celery的配置,同时耗时任务也写在该文件中 from celery import Celery f ...
- py2exe——.py文件转换成exe
1.官网下载 http://www.py2exe.org 2. 将要转换的python脚本放到Python文件夹内 在python的目录下面,通常是(C:\Python27,看你安装Python的位置 ...
- Ooui:在浏览器中运行.NET应用
\ 看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料! \ \\ 在过去数年中,桌面应用开发人员一直处境艰难,因为人们的主要关注点聚焦于Web和移动应用.由于 ...
- .NET(C#) Internals: 以一个数组填充的例子初步了解.NET 4.0中的并行(一)
引言 随着CPU多核的普及,编程时充分利用这个特性越显重要.本文首先用传统的嵌套循环进行数组填充,然后用.NET 4.0中的System.Threading.Tasks提供的Parallel Clas ...
最新文章
- jq实现点击导航栏中的任意一个跳转后被点击的定位到第一个
- Teams新功能更新【六月底】Microsoft Teams: Music on Hold
- Linux之tomcat日志管理
- java创建类的三个步骤_3个简单步骤即可测试Java 8
- HTML5链接tcpUDP,UDP/TCP协议 网络调试工具源码(C#)
- Kubernetes[3]-Server
- Linux Kernel TCP/IP Stack|Linux网络硬核系列 | 图
- windows server 2008 安装linux,使用WSL在Windows Server 2019上运行Linux的方法
- webStorm部分以及重要快捷键
- 利用ScriptEngineManager实现字符串公式灵活计算
- 【经典算法实现 14】阿克曼函数(手动推导求解、递归实现、非递归实现)
- Matpower建模
- 【人物志】美团技术委员会前端通道主席洪磊:爱折腾的斜杠青年
- 解决VS2017/2019无法在线升级
- Wilbur and Array
- 判断类型是否继承_读《Java核心技术》-继承(覆盖、final、强制类型转换、抽象类)...
- 婚姻介绍所怎么做身份实名认证?
- 国标、行标、地标、团标、企标以及国际标准的基础知识
- ThingsBoard——v3.3.3源码编译
- 服务器里vm启动不了共享虚拟机,VMware Workstation Server共享服务不能启动
热门文章
- PHP 利用Mail_MimeDecode类提取邮件信息
- JavaScript的10种跨域共享的方法
- (Microsoft) Visual Studio LightSwitch
- VMware虚拟机VMware Authorization Service不能启动问题
- title与h1标签的区别和联系
- linux slub分配器浅析
- facebook 分享页面_Facebook个人资料,页面和组之间有什么区别?
- java获取前端json数据_java如何获取前端ajax传来的json对象
- 关于width: 100%的一些看法
- 219. 单页应用 会话管理(session、cookie、jwt)