王阅

 

WF4.0--一个完整流程的执行生命周期

 最近太忙,今日上班偷得半日闲.

      本文的Demo并非本人的原创,而是在他人的基础上进行了整改。微软有自己的关于SQL Server持久化Demo,比较复杂,有兴趣的可以自己去研究。

      主要采用书签来协助流程的执行。如果您有其他更好的办法请指教。

      该Demo介绍了一个简单的WF流程流程从发起到执行结束的整个生命周期:发起--持久化(文本文件)--加载执行(总共只有两步,结束)--持久化(文本文件)的基本过程。两份执行数据各自保存在单独的文本文件中,是流程的执行轨迹。

  demo地址:https://files.cnblogs.com/wreading/WF_Persistable.rar

      程序结构如下图:

                                 

       WorkFlow:WorkFlowManager控制流程的发起与执行,采用AutoResetEvent等待和释放线程。

       BLL:XMLWorkflowInstanceStore把流程实例的的数据序列化为XML数据[您也可以把数据其他方式的序列化],再调用Instance中的持久化方法把流程实例数据存储到文本文件中。XMLWorkflowInstanceStore采用异步机制。

       Common:XMLDeserialize序列化和反序列化流程实例数据,AsyncResult及CompleteAsyncResult协助XMLWorkflowInstanceStore完成异步操作 。

       FileDAL:InstanceDAL与文本文件交互流程实例数据 。

       Model:流程实例的模型 。

       WF:Activity1为设计的流程,Bookmark为无返回值,无输入参数的书签 。

      

       如有必要,后面再对此Demo的各个核心文件进行详细的描述 。

      

      

posted on 2011-08-25 11:33  王阅  阅读(881)  评论(0编辑  收藏  举报

导航