首页 > 其他分享 >Elsa V3学习之脚本

Elsa V3学习之脚本

时间:2024-08-18 22:15:16浏览次数:6  
标签:脚本 C# Elsa JS c# V3 我们

在前面的文章中,可以看到我们经常使用JS脚本来获取变量的值。在Elsa中是支持多种脚本的,最常用的基本是JS脚本和C#脚本。
本文来介绍以下这两个脚本使用。

Javascript

在ELSA中的javascript是通过Jint这个包来实现的。通过JS映射到C#内部的方法中。可以在代码中先预定义我们的Function。在Elsa.JavaScript的项目中可以找到下面这些定义JS的代码。
image.png
image.png
image.png
除了上面这些内置的方法之外,我们还可以自定义自己的JS方法经行映射。比如将C#的类型映射出去可以调用扩展方法。

public static void RegisterType<T>(this ITypeAliasRegistry registry, string alias) => registry.RegisterType(typeof(T), alias);

比如这样:
image.pngimage.png

c#

c#脚本是通过Microsoft.CodeAnalysis.CSharp.Scripting进行动态编译和执行的。
比如内置的WorkflowInputsProxy,可以通过动态编译添加我们的C#脚本。
image.png
我们也可以通过这种方式动态的添加我们的脚本支持
image.png
image.png

使用脚本

在elsa中内置有js和c#的脚本节点用于我们测试。
我们创建一个流程,把Run C#节点托到画布中,并写脚本Console.WriteLine(1)。
image.png
执行工作流。可以看到我们控制台输出了1。成功运行了脚本。
image.png
RunJavaScript脚本也是一样的使用方法,在前面几篇文章中我们都有使用,这里就不重复了。

结语

本文介绍了elsa中脚本的使用,通过各种脚本,我们可以灵活的编排和使用我们的工作流。

标签:脚本,C#,Elsa,JS,c#,V3,我们
From: https://www.cnblogs.com/fanshaoO/p/18366205

相关文章

  • Elsa V3学习之分支节点
    接下来我们来介绍下Elsa的一些内置节点的使用。本节介绍分支节点。Descision这个节点其实就是If,只不过是用flow编排的模式。我们来创建一个简单的分支流程,通过HTTP节点请求的参数,判断是否满足表达式,分别输出True,False。添加一个变量,将HTTPEndpoint的OUTPUT的QueryStringData......
  • Elsa V3学习之循环节点
    上篇我们学习了分支节点,这篇文章我们来学习循环节点。Forfor节点跟我们代码中的for循环是一样的效果,有三个参数。Start,End,Step。分别表示起始数字,终点数字,以及步长,即每次循环加几的意思。下面的配置相当于for(i=0,i<=10,i++)。for节点的output表示当前的循环的值,我们可以......
  • Elsa V3学习之介绍篇
    一、ELSAV3概述ELSA是一个开源的工作流引擎,旨在帮助开发者快速构建和管理复杂的工作流。ELSAV3是该框架的最新版本,带来了许多新特性和改进,使得工作流的创建和管理更加高效和灵活。1.1主要特性可视化设计器:ELSAV3提供了一个直观的可视化工作流设计器,允许用户通过拖放方......
  • Elsa V3学习之内置工作流节点
    在ELSAV3中,Activity是工作流的基本构建块,它们代表了工作流中的具体操作或任务。每个Activity都可以执行特定的功能,帮助实现复杂的业务逻辑。ELSAV3提供了一系列内置的Activity,开发者可以直接使用这些Activity,或者根据需要进行扩展和自定义。内置Activity概述在ELSA......
  • Elsa V3学习之Hello Word
    前面文章介绍了Elsa的基础节点内容,接下来我们来开始实践一下。启动项目启动源码目录src\bundles中的Elsa.ServerAndStudio.Web的项目。这个项目包含ElsaServer以及前端界面。可以让我们快速学习Elsa项目。控制台HelloWord打开Workflows下的Definitions页面,点击CREATEWORKFL......
  • Elsa V3学习之工作流定义详解
    工作流定义的JSON结构以下是一个空流程的工作流定义的基础节点,包含一个变量一个Input一个Output。{"definitionId":"8539248c8575efff","name":"Workflow3","description":"Description","toolVersion":"3.......
  • Bat To Exe Converter:一键转换,让批处理脚本秒变执行神器!
    前言在数字化时代,批处理脚本(BAT文件)作为自动化任务处理的得力助手,广泛应用于系统管理和软件开发中;然而,BAT文件在执行时通常需要依赖命令行界面,这在非技术用户或非特定环境下可能会造成一定的使用障碍;为此,一款能够将BAT文件高效转换为可执行文件(EXE文件)的工具显得尤为重要;BatT......
  • bash shell脚本接受多个参数
    !/bin/bashDefaultvaluesforalloptionsud_default="default_ud_value"a_default="default_a_value"b_default="default_b_value"c_default="default_c_value"d_default="default_d_value"e_default="defau......
  • jenkins配置脚本
    pipeline{agentanytools{maven'Maven3.9.2'}stages{stage('拉取代码'){steps{gitbranch:'main',credentialsId:'chatx',url:'git路径'......
  • jenkins pipline脚本 获取git分支
    必须先禁用脚本安全性,参考文章:https://www.cnblogs.com/xiao987334176/p/18365397 点击ManageJenkins-->ScriptConsole输入以下脚本://定义Git命令defcmd="gitls-remote--headshttps://oauth2:[email protected]/xx.git"//执行命令并获取输出defproc=c......