WF4.0实战(七):请假流程(带驳回操作)
请假流程(带驳回操作)
我使用WF4.0有很长一段时间了,但是对WF3.0和WF3.5自知甚少,对状态机也不甚了解。今天生鱼片前辈的博文:WF4实现工作流驳回流转模型的几种设计方案 中提出的四中实现驳回的方式中。第一种大家都觉得太过麻烦。现在我是使用第二种的。第三种没用过,觉得有些问题。 他在文中提出第四种方式是最好的,我也非常同意。 这篇文章中,将使用第四种状态机的方式实现一个请假流程,这个流程中有驳回操作。
WF4.0的状态机是微软今天发布的,下载地址是:http://wf.codeplex.com/releases/view/43586,我就迫不及待的安装好了,试用了一番。
这个Demo一是展现一下WF4.0状态机的功能,二是为了使用状态机实现这个工作流中常用的驳回操作,三是为了展示用WF4.0实现一个简单的请假流程的。流程图如下:
Flowchart流程图如下:
状态机如下图:
WF4.0中状态机中共三种活动属如下:
而我画的状态机中多了一种Composite State,这个也是一种state。在composite中的state将会流进同一个 transition 中。
状态机和顺序流、flowchart不同,状态机的触发事件和路由条件都设置在连线上面,微软称它为transition。我感觉有一点不爽的是,在状态机中同样的条件表达式,不同的情况可能也设置好几次。比如说这个请假流程,天数小于3要在一个transition中设置一次。大于等于3在另外一个transition又要设置一次。这点不如flowchart灵活。
总结:
和flowchart画线驳回相比,虽然少画了flowdecision,工作量感觉还是差不多。还有在flowchart中可以拖状态机,而在状态机中不能拖放flowchart中的活动。同样在顺序工作流中可以拖放状态机,在状态机中不能拖顺序工作流。flowchart和顺序工作流是可以相互嵌套的。
完整例子代码:/Files/zhuqil/leaveFlowSolution.rar
参考文章:
http://www.cnblogs.com/carysun/archive/2010/04/21/WF4-Reject.html
http://www.cnblogs.com/carysun/archive/2010/04/21/WF4-StateMachine.html
(全文完)
以下为广告部分
您部署的HTTPS网站安全吗?
如果您想看下您的网站HTTPS部署的是否安全,花1分钟时间来 myssl.com 检测以下吧。让您的HTTPS网站变得更安全!
快速了解HTTPS网站安全情况。
安全评级(A+、A、A-…)、行业合规检测、证书信息查看、证书链信息以及补完、服务器套件信息、证书兼容性检测等。
安装部署SSL证书变得更方便。
SSL证书内容查看、SSL证书格式转换、CSR在线生成、SSL私钥加解密、CAA检测等。
让服务器远离SSL证书漏洞侵扰
TLS ROBOT漏洞检测、心血漏洞检测、FREAK Attack漏洞检测、SSL Poodle漏洞检测、CCS注入漏洞检测。