工作流系统之二十五 .net工作流系统开发体会

推荐一款可在.net中使用的工作流 虽然可以使用逻辑应用实现长时间运行的工作流,但通常将工作流与多个逻辑应用拆分,其中一个工作流调用另一个逻辑应用。使用 Elsa,您只需在工作流程中的任何位置添加触发器,从而更轻松地全面了解您的应用程序逻辑。为了管理工作流定义和实例,Elsa 附带了一个可重用的 Razor 类库,该库以 MVC 区域的形式提供了一个仪表板应用程序,您可以将其包含在自己的 ASP.NET Core 应用程序中。另一方面,Elsa 不仅允许您在 Azure 上托管它,还允许您在任何支持 .NET Core 的云提供商上托管它。 阅读详情

.net工作流系统开发体会
公司的eworkflow自定义工作流系统,最初是开发了java版的。待java版的功能稳定后,就开始开发.net版的。

java版的eworkflow工作流系统,我们没有依赖于任何框架,如struts,spring等,也没有用hibernate,ibatis等orm映射工具。在支持web方面也有一套自己的mvc框架,都是纯java的代码。因为工作流系统,比较注重的是工作流引擎核心的实现,其他的表现形式,人机交互等都相对不是工作流系统的重要部分,并且业务模块的自定义表单采用的是eform自定义表单,所以在mvc的框架中,我们只需要注重M部分的流程引擎的开发。

 

在用.net实现工作流系统的时候,只需要将java版的后台纯java的代码,用.net的c#来实现。java和c#就象孪生兄弟,长的太象了。都是纯面向对象的,有类,接口,继承,多态等。只是关键字的写法不一样。我们只需一点一点的将java实现的流程引擎代码用c#翻译过来即可,保留所有的java设计思路,设计模式,包名类路径等。为实现同样的功能,c#的语法有的更简单、方便一些。因为java版的eworkflow 没有依赖于任何开源的框架,所以在实现上少了这些开源框架代码的移植。

工作流系统框架图:

 


用c#实现eworkflow工作流系统主要需要修改如下方面的代码。
java版:
基本的语法,类定义,包名等
c#版:
改用c#的语法,关键字等。c#的命名空间比java的package更灵活。

 

java版:
数组,集合等方面的实现
c#版:
翻译成对等的 数组,集合等。

 

java版:
xml的实现采用jdk1.4自带的包
c# :
xml的实现采用System.xml
在所有涉及xml节点部分的代码全部转换过来。

 

java版:
数据库操作采用jdbc
c#:
数据库的实现比较麻烦。有oledb,sqlclient,oracleclient。
这部分的实现与java版的不同,但仅限于实现方面不同,.net工作流系统的数据库实现采用了工厂模式封装了oledb,sqlclient,oracleClient的不同,对外表现形式和java工作流系统一样,在所有涉及数据库操作的部分代码逻辑还是一样。(.net工作流系统的数据库实现见上一篇文章:如何构建支持多数据库的.net工作流系统 http://www.cnblogs.com/webreport/archive/2010/08/13/1799022.html)

 

java版:
反射部分有反射包
c#:
翻译成c#的反射实现。

 

java版:
流程定义时自定义脚本,采用了beanshell。
c#:
.net方面没有类似的软件,自己开发了一个支持自定义脚本功能,脚本语法是c#(和java版的一样,java版的beanshell脚本语法是java),实现动态编译和加载。


还有很多细节方面的修改,散布在各处。总之,java版的eworkflow工作流系统和.net工作流系统也象孪生兄弟一样,功能是一样的,只是实现方式不同。

ArcGIS Pro SDK (二十五)工作流管理器 【代码】ArcGIS Pro SDK (二十五)工作流管理器。 阅读详情

相关推荐

COCO数据集缺失文件补全方法

本文代码是以目标检测(object detection)和实例分割(instance segmentation)任务的标签文件为例,即文件。其他任务的标签文件内容略有不同,但是图片来源表示字段完全相同,因此代码可通用。另外如果是非2017版本COCO应该也通用。msgspec是一个高性能的序列化和验证库,支持 JSON、MessagePack、YAML 和 TOML 等多种格式。高性能:在常见协议的编码/解码中表现出色,通常比其他库快10-80倍。零成本的模式验证。

qq_46396470的博客 1994

.NET 轻量级工作流引擎

Workflow-CoreWorkflow-Core 是一个开源的工作流引擎项目,它提供了一个轻量级的框架,用于在.NET 应用程序中创建和管理工作流程。它基于.NET Standard,并且可以在各种平台上运行,包括 Windows、Linux 和 macOS。功能特性1. 灵活的工作流程定义:使用 Workflow-Core,您可以轻松定义和构建复杂的工作流程。工作流程由一系列步骤(Activ...

dotNET跨平台 2815

SLAM轨迹评估神器evo实战:从GPS到TUM格式的完整转换指南(附Python代码)

本文详细介绍了如何使用evo工具将GPS数据转换为TUM格式,以便进行SLAM轨迹评估。通过Python代码实现GPS到笛卡尔坐标的精确转换,并提供了完整的处理流程和实战案例,帮助开发者轻松完成从原始GPS数据到精确轨迹评估的全过程。特别适用于ORB-SLAM等视觉SLAM算法的性能验证。

weixin_29074295的博客 293

.NET 使用 WorkFlow Core 创建工作审批流

前言工作流思想在上世纪60年代就有人提出过;70年代就有人开始尝试,但是由于当时许多的限制,工作流一直没有成功的被实现;80年代才出现第一批成功的工作流系统;90年代工作流技术走向了第一个发展高峰期;90年代后至今工作流出现了很多版本,但是主旨还是不变的,为了使我们的工作变得更加高效。通俗点,我们经常使用的OA系统上。关于一个材料的申报,又或者个人的请假。这些流程就属于工作流(工作审批流)。其中对...

weixin_68436326的博客 1972

python DEA: 基于非径向距离NDDF的Malmquist-Luenberger 指数及其分解

点赞发Nature 关注中Science Malmquist-Lenberger指数(ML指数)是距离函数与DEA计算中常用的指数,ML指数可以进一步分解为技术进步technological progress和效率改善effeciency change. 技术进步常被当做增长模型中的全要素生产率,用到许多计量经济研究中,探讨影响技术进步的环境变量。这里我分享一个考虑非期望产出下的NDDF方法计算ML指数。 该ML指数为global ML(区别于sequential ML) import numpy as

Cmmmmm丶的博客 5296

Webots+UR机械臂仿真全流程:手把手教你用Python实现Pick-and-Place轨迹规划

本文详细介绍了使用Webots和Python实现UR六自由度机械臂的Pick-and-Place轨迹规划全流程。从环境搭建、运动学正逆解计算到轨迹规划实战技巧,涵盖工业场景中的关节补偿、末端校准等实际问题解决方案,帮助开发者快速掌握机械臂精准控制技术。

weixin_29083649的博客 284

.Net工作流:TPT工作流框架(一)——普通审批流

1.创建新的工作流:设置该工作流的权限范围(不设表示所有人都有权限),可指定部门、角色、人员。 2.设置工作流表单:按需求拖组件到表单设计器中,并设置每个字段的属性。 3设置工作流流程:这里我们只设置两个审批节点,主管审批和总经理审批,同学们可以按自己的需求来设置。 给每个审批节点设置审批人,目前支持指定的人员、上级主管、指定角色、自选、项目负责人、从单据上选择这几种方式。其中自选是在发起审批流的时候选择,可指定自选人员范围(整个公司或者部门或者角色等)。每个节点也可以设置是或签还是会签,

l358584167的专栏 2281

python调用海康工业相机并用opencv显示(整体实现)

python语言调用海康机器人(hikrobotics)工业相机 第一章 Python 语言下连接海康工业相机,并获取数据 文章目录 系列文章目录 前言 目录 python语言调用海康机器人(hikrobotics)工业相机 文章目录 前言 一、底层接口的准备 二、使用步骤 1.引入库 2.枚举设备 3.判断设备类型 4.输入连接设备 5.创建相机实例并创建句柄 6.打开设备 7.获取相关参数 8.主动获取图像 9.开启取流并获取每张.

qq_39570716的博客 5万+

【Microsoft Azure 的1024种玩法】三十一.使用Azure Logic App 创建基于计划定期执行邮件发送的自动化工作流

【简介】 Azure 逻辑应用(Azure Logic App )是一个基于云的平台,用于创建和运行集成应用、数据、服务和系统的自动化工作流。 借助此平台,我们可以快速为企业和企业到企业 (B2B) 方案开发高度可缩放的集成解决方案。 作为 Azure Integration Services 的成员,Azure 逻辑应用简化了跨云、本地和混合环境连接旧式、新式和一流系统的方式。 本文主要介绍了如何使用Azure Logic App 创建基于计划定期执行邮件发送的自动化工作流,具体而言,此逻辑应用将会在特定

一只特立独行的兔先森 1555

基于Simulink的PID控制防抱死制动系统(ABS)建模与仿真

防抱死制动系统(Anti-lock Braking System,简称ABS)是一种用于防止车辆在紧急制动时车轮完全抱死的技术。通过实时监测车轮速度并调节制动力,ABS能够显著提高车辆的制动性能和操控稳定性,从而减少交通事故的发生。PID(比例-积分-微分)控制器因其结构简单、性能稳定且易于实现而被广泛应用于ABS控制系统中。本项目旨在通过MATLAB/Simulink平台设计和验证一个基于PID控制的ABS系统,重点研究PID参数调优方法、系统动态响应特性以及制动过程中的滑移率控制能力。

MHD0815的博客 484

uniapp:使用uni.request请求报错errMsg“:“request:fail abort statusCode:-1(uniApp使用uni.request向服务端接口发起请求失败报错)

解决request请求报错request:fail abort statusCode:-1,Uniapp打包到app后报错request:fail abort statusCode:-1,uniapp使用uni.request请求报错{“errMsg“:“request:fail abort statusCode:-1“}的解决办法,不是SSL证书问题,跳过ssl验证,解决https问题,Uniapp报错,小程序报错(含https解决方案)(真机预览问题)uni-app打包后不发请求的原因,uni-app真

✅ 精选推荐文章 3580

【转】WF4.0 (基础篇)

转自:http://www.cnblogs.com/foundation/category/215023.html 作者:WXWinter —— 兰竹菊梅★春夏秋冬☆ —— wxwinter@163.com 上面的作者的整个博客都是写工作流的,有兴趣的朋友可以去他的博客逛逛. WF4.0 技术文章 WF4.0 流程设计器例子 (提供状态机模板) 摘要: WF4.0 的流...

weixin_33896726的博客 178

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Windows Workflow Foundation 4.0

转:http://www.cnblogs.com/foundation/category/215023.htm WF4.0 技术文章 WF4.0 流程设计器例子 (提供状态机模板) 摘要: WF4.0 的流程设计器,可根据流程启参数自动构建启动窗体, 根据Bookmark自动构建提交窗体,可保存,加载,调试VS2010设计的工作流文件,提供可视化的流程测试界面,可设计WF...

weixin_30622107的博客 257

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

WF4.0 基础篇 (三十 完) 对学习WF的一点建议

从09年10月份 NET4.0 Bata 2发布后,我就开始写[WF4.0 基础篇]这个系列,经历了5个多月终于在NET4.0正式发布前将这个系列完成了   这段时间与一些对WF4.0感兴趣的公司与开发人员有过一些交流.   先说一下对WF感兴趣的公司,有些公司已经开始用WF4.0开发业务流程管理类软件了,这些公司与我交流的问题多是在开发中遇到的现实问题,在交流中我发现这些公司对WF4

heshengfen123的专栏 1604

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

IT大牛博客

首届中国最受欢迎50大技术博客获奖名单如下: 第一名:李会军   http://www.cnblogs.com/Terrylee/ 软件公司项目经理。多本技术图书作者译者。擅长基于.NET平台的Web开发,ASP.NET、AJAX、Silverlight等。 第二名:赵劼 http://www.cnblogs.com/JeffreyZhao/ 资深软件架构师。目前担任上海柏盛网

houbin0912的博客 1242

【Microsoft Azure 的1024种玩法】七十一.基于Azure Virtual Machines快速上手搭建Typecho博客系统

Typecho 是基于 PHP5 构建的开源跨平台博客系统,Typecho开源跨平台博客系统相较于wordpress 、hexo有一定的性能优势,是我们记录文章内容的最佳首选博客,那么本篇文章就向大家系统的介绍下,我们如何基于Azure Virtual Machines快速上手搭建Typecho博客系统的 ......

一只特立独行的兔先森 820

【Microsoft Azure 的1024种玩法】六十.通过Azure Virtual Machines快速搭建个人Ghost博客系统

Ghost 是一套基于Node.js 语言开发构建的开源博客系统,它的整体架构为前端管理系统基于Ember.js, 后端的模板引擎采用的handlebars, 数据库是基于MySQL的,本篇文章主要介绍了如何通过Azure Virtual Machines快速搭建个人Ghost博客系统

一只特立独行的兔先森 2239

aspen plus大小_Aspen Plus简介

AspenPlus是一款功能强大的化工设计、动态模拟以及各类计算的大型通用流程模拟软件,它由美国AspenTech公司研发,这一软件经过15年不断改进、扩充、.提高,已经历了九个版本,成为全世界公认的标准大型流程模拟软件。一、概述“如果你不能对你的工艺进行建模,你就不能了解它。如果你不了解它,你就不能改进它。而且,如果你不能改进它,你在21世纪就不会具有竞争力。”----Aspen World 1...

weixin_39946029的博客 3066
上一篇: 工作流系统开发之二十四 如何构建支持多数据库的.net工作流系统
下一篇: 工作流系统之二十六 .net工作流系统之扩展性
LikeLaura
博客等级 码龄19年 50粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值