https://mp.weixin.qq.com/s/FKsmTpFxODQBRbSoWa3IwQ

开源项目orchard主要开发人员Sipke Schoorstra 开源了一个netcore 工作流项目,地址:https://github.com/elsa-workflows/elsa-core,最新版本1.2,正在开发2.0版本 。Spike 是参照Orchard Core的工作流引擎的原理,将其转化为一个可重用的.NET标准库,从而使任何 .NET应用程序都能享受工作流的强大功能,使开发人员能够实现长期运行的工作流。ELSA的核心理念是能够相互连接小的可执行单元,允许您编排实际的业务流程,如文档审批、客户入职和订单流程。

项目主页上有介绍Elsa是以OrchardCore 工作流为灵感的,同时也从许多其他现有的工作流解决方案中获得了灵感,例如Windows Workflow Foundation和Azure Logic Apps,我继续受到图书馆的启发,例如Workflow Core和Workflow Engine。

图片

ELSA 与其它工作流引擎不一样的地方,它有一个漂亮的流程设计器:https://elsa-workflows.github.io/elsa-core/docs/guides-dashboard#create-a-workflow

ELSA可用于在您自己的应用程序流程中实现工作流引擎,也可用作与您的应用程序交互的外部工作流服务。

Spike 写了一个比较完整场景示例–用户注册:https://github.com/elsa-workflows/elsa-samples:

在这个场景中,我们有一个web应用程序,用户可以在这个应用程序中注册账号。注册后,我们希望该系统分配用户角色并给用户发送激活账号的电子邮件 。

如果用户没有在规定的时间内激活其帐户,则继续向用户发送提醒电子邮件。

如果用户单击激活邮件里的链接,他们的帐户就会被激活。但是,如果用户没有及时激活他们的帐户,他们的帐户就会被清理和移除。

我们fork 这个程序代码并下载到本地,这里我把它升级到了最新版本和.NET Core 3.1,示例使用Mongodb作为持久化,如果没有安装MongoDB,则可以使用docker 运行项目里的docker-compose.yaml 。

运行VS 运行不调试应用程序,使用浏览器访问到/esla/home ,成功运行的话我们可以elsa的控制面板:

文档更新时间: 2022-08-16 14:41   作者:admin