转自:http://www.cnblogs.com/Mayvar/category/315963.html
这系统的教程有代码可以下载
WF事件驱动(5)
摘要: 之前,我通过4篇文章介绍了在WF4中开发基于事件的工作流的范例。请参考下面的链接。 这一篇是这个系列的最后一篇,介绍如何通过配置文件,而不是代码的方式启动宿主。这在现实工作中是相当有用的,请大家参考下面的实例。【注意】有朋友也问到单独用数据库存储业务方面的数据,那是没有错的。一般可以通过自定义的Activity去完成这些操作,都是标准的ADO.NET的数据访问操作。这里就不做展开了。这个案例的最终代码范例,请通过 这里 下载1.修改之前的Host代码using System;using System.Collections.Generic;using System.Linq;using Sys阅读全文
posted @ 2011-09-03 16:58 Mayvar 阅读(353) | 评论 (1) 编辑
WF事件驱动(4)
摘要: 前面三篇,我介绍到了如何在WF 4中设计简单的审批流程,没有什么特别出奇的技术,只不过WF4对于事件机制有了不小的改进吧。这一篇要来谈谈更加深入一点的话题:如果我们的流程需要长时间才能完成(这是很常见的),那么如何在这些流程空闲(例如等待经理审批)的时候,更好地管理它们呢?我们都知道,默认情况下,所有流程实例都是在内存中被创建的一个对象。那么这里提到的管理,有两个层面的意思:如果某些实例处于空闲状态,那么他们所占用的内存可能是浪费的。由于可能因意外情况导致的宕机(例如停电,或者被某个恶作剧者按下了重启按钮),所以放在内存中的实例是很不保险的所以,为了达到上面的两个目的,WF 提供了所谓的“持久阅读全文
posted @ 2011-09-03 16:56 Mayvar 阅读(942) | 评论 (1) 编辑
WF事件驱动(3)
摘要: 前面两篇已经实现了最简单的基于事件的工作流程,用户可以在客户端(任意类型的客户端)发出流程操作的指令,通过WCF的通讯,驱动后台的工作流工作。但之前的例子只有一个事件,就是“创建流程”的事件,显然这是不够的。这一篇就来把这个例子完善一下,通过这个练习之后,大家应该可以大致了解在WF4中如何设计基于事件的流程了我们将为这个流程添加一个“审批流程”的事件。本文代码,请通过 这里 下载1. 修改工作流设计很显然地,我们会在下面添加另外一个Pick Activity,然后里面也添加一个Receive来实现事件监听同时,我们定义了三个变量用来接收用户传递过来的数据我们在Receive上面设置了参数与这些阅读全文
posted @ 2011-09-03 16:54 Mayvar 阅读(583) | 评论 (1) 编辑
WF事件驱动(2)
摘要: 我介绍到了WF4的全新事件驱动工作流设计的第一部分。我们可以大致总结几个重点1. WF4的事件机制与WF3有了革命性的不同。WF3是基于ExternalDataExchange服务的。而WF4是基于WCF的。这种设计相对来说,对于开发人员而言,简便了很多。2. WF3中是使用所谓的EventDriven这样的Activity,而WF4则使用了Receive这样的Activity.其实,从WF 3.5的时候就可以看到这样的端倪。3. 如果需要进行事件的监听,则不能使用WorkflowInvoker或者WorkflowApplication来启动流程,而是需要通过WorkflowServiceHo阅读全文
posted @ 2011-09-03 16:53 Mayvar 阅读(553) | 评论 (0) 编辑
WF事件驱动(1)
摘要: 已经有不少朋友知道Workflow Foundation 4了。这个版本较之于以往有了一些明显的区别,开发的一些思路也大不相同了。很多人会觉得很怀念以前3.0中的“顺序工作流”和“状态机工作流”的分类,其实大可不必。在4.0中虽然没有称之为“状态机工作流”的东西,但其实实现起来也很自然.WF 4提供了FlowChart的功能,其实就是状态机工作流。(它的不同Decision之间可以转化,而这正是状态机与顺序工作流的根本区别)这一篇不是用来讨论状态机工作流这个话题的,提一下只是想说,大家要抓住重点,而不是表象。专门写一篇来介绍一下所谓事件驱动的流程设计和应用,是因为首先,没有太多流程不需要用户交阅读全文
posted @ 2011-09-03 16:51 Mayvar 阅读(974) | 评论 (1) 编辑