学*workflowcore工作流1

发布时间:2021-09-18 11:02:23

工作流越来越火了,如果信息系统没个工作流都拿不出手。


选来选去看中了开源的workflowcore,该项目地址?https://github.com/danielgerlag/workflow-core


用net core开发的。


工作流引擎通常是以服务或console控制台程序形式运行,有长长的进程。可以动态加载DLL,也就是步骤。


流程是以xml或json格式文件描述,把这些DLL(步骤)组合起来,工作流引擎加载流程,按部就班地运行DLL。


典型的运用就是审批流。当然,工作流能做好多事情。


例如workflowcore用json定义一个流程:


{
"Id": "HelloWorld",
"Version": 1,
"Steps": [
{
"Id": "Hello",
"StepType": "MyApp.HelloWorld, MyApp",
"NextStepId": "Bye"
},
{
"Id": "Bye",
"StepType": "MyApp.GoodbyeWorld, MyApp"
}
]
}

第一步是运行MyApp程序集(类库)里的类HelloWorld


第二步是运行MyApp程序集(类库)里的类GoodbyeWorld


以上两个类定义如下:


public class HelloWorld : StepBody
? ? {
? ? ? ? public override ExecutionResult Run(IStepExecutionContext context)
? ? ? ? {


? ? ? ? ? ? Console.WriteLine("Hello world");


? ? ? ? ? ? return ExecutionResult.Next();


? ? ? ? }
? ? }


public class GoodbyeWorld : StepBody
? ? {
? ? ? ?
? ? ? ? public override ExecutionResult Run(IStepExecutionContext context)
? ? ? ? {
? ? ? ? ? ? Console.WriteLine("Goodbye world");? ?


? ? ? ? ? ? return ExecutionResult.Next();
? ? ? ? }
? ? }


控制台加载json


public static void Main(string[] args)


{


? ? ?


? ? ? ? ? ?var host = serviceProvider.GetService();


? ? ? ? ? ??
? ? ? ? ? ? var loader = serviceProvider.GetService();


? ? ? ? ? ? ?loader.LoadDefinition(json);
? ? ? ?
? ? ? ? ? ? host.Start();


? ? ? ? ? ?


? ? ? ? ? host.StartWorkflow("HelloWorld");?
? ? ? ? ? ?
? ? ? ? ? ? Console.ReadLine();


? ? ? ? ? ? host.Stop();


}


输出结果:Hello World


? ? ? ? ? ? ? ? ?Goodbye world


MyApp程序集编译后一定要考到和console.exe同一个目录下才行。

相关文档

  • 学习廉洁从政思想汇报范文
  • 欧莱雅红胖子气垫专柜多少钱欧莱雅红胖子气垫有几个色号
  • 张嘉欣 庾澄庆携妻子张嘉欣吃饭
  • 八年级英语上册的教学计划范文三篇
  • 我的青春我做主主题演讲稿
  • 一个seo菜鸟的成长记
  • 关于旅游的小学生作文精选3篇
  • 狼人杀预言者的目标是什么
  • 那些不曾走远的流年的散文
  • 数据建模过程
  • 描写大象的句子
  • excel边框线不见了
  • 专家:不能排除新冠病毒常态化可能性 全球一体化防控非常重要
  • 艺术设计个性情感签名
  • 侵犯知识产权罪法律知识的考试试题
  • 餐桌上吃饭常见的五大饮食误区
  • 鳜鱼和鲈鱼能混养吗鳜鱼和鲈鱼哪个营养好
  • 陈琴讲座心得体会
  • 诚实为本
  • Linux下安装配置 subversion1.8+apache+nginx服务器详解
  • 梦见妻子光整个的身体
  • 荣耀al 30怎么投屏
  • 执业药师中药学试题及答案
  • 长方形的长和宽怎么分
  • elastic search添加密码验证、并且使用postman访问带密码的es
  • NBA历史打3+1最多的球员是谁
  • 最短路径-迪杰斯特拉(dijkstra)算法及优化详解
  • 好书推荐手抄报图片三年级
  • 如何美发护发
  • python从列表随机取出多个数据_【python】从数组随机取数据
  • 猜你喜欢

  • 中考录取分数线整理
  • 实习幼师年度工作计划范文
  • 四川省成都市双流县2017-2018学年高二生物下学期开学考试试题
  • 英国伦敦地区有哪些大学
  • 经典语录:一些事,只能当记忆;一些人,只能做过客
  • 广西专用中考道德与法治一轮新优化复*第四部分认识国情爱我中华考点17全面建成械社会课件
  • 奋进之路——重庆市涪陵区人民检察院创建全国先进基层检察院纪实
  • 实施区校企联动发展策略酮?耙到逃??呕?煅Ж辽宁机电职院教育部座谈会)
  • 我国常见先天性心脏病的介入治联?
  • 襄阳宇天祥建筑有限公司企业信息报告-天眼查
  • 解读2010年心肺复苏
  • 当小老师优秀日记
  • 如何安全地变更车道
  • 2019年高考语文热点题型和提分秘籍:专题17 鉴赏诗歌的语言(解析版)
  • 【2018-2019】与动物为友作文3篇-实用word文档 (2页)
  • 广州市美琪仕鞋业有限公司(企业信用报告)- 天眼查
  • 2019小学一年级语文教案《识字一》教案精品教育.doc
  • (多套高分)2019度人工智能与健康精彩试题和问题详解解析汇报
  • 经典电影中的法律问题分析结课作业、
  • 根鸟读后感1500字
  • 跟战争的古诗
  • 越求越远自由——解读《哈克贝利·芬历险记》中的吉姆
  • 农村劳动力转移就业工作总结
  • 句容市地毯总厂丝线分厂企业信息报告-天眼查
  • 第二十讲 摆事实 讲道理
  • 多功能水泵控制阀的基本简介
  • 中国纺织钢筘市场发展研究及投资前景报告(目录)
  • 部编本2016人教版初中七年级语文上册《第五单元导读》教案
  • 【最新推荐】银行行长新年致辞-优秀word范文 (1页)
  • 嘀咕网李松聊LBS创业:烧3000万美元是起点
  • 蓝色梦幻星星背景PPT模板
  • Apple ID已停用怎么办
  • 2017小学生除夕夜的烟花作文500字
  • 平面多边形区域的扫描线填充算法
  • 班主任工作室的年度工作计划.doc
  • 最新的分手伤感的句子
  • 减数分裂2011单元测试一Microsoft Word 文档
  • 100以内进位加法和退位减法练*题
  • 中学生XX年腊八手抄报资料大全
  • 小学六年级语文童年的发现教案
  • 基于智能手机移动学习平台的大学英语学习-精选教育文档
  • 赞美团结的名言
  • 电脑版