承接MOSS各种工作流开发 联系人:王先生.电话:18618405729QQ:252385878 QQ群:41696750 MSN:wanghao-3@hotmail.com

导航

workflow客户帮助中心审批流程Demo

Title

      研究wf也有一段时间,感觉他确实很棒,也出点成果。下面我来介绍一下关于开发wf应该注意的事项!
刚开始研究wf的时候 ,始终有个疑问缠绕着我,看着别个画流程,我也跟着画流程,盲目的很,不明白其中的参数配置,和其中的奥妙。
当时有一个疑问一直缠绕着我,就是我如何把我的流程在应用中用起来。在流程中如何控制我的实例,什么时候销毁,如果一个停顿在内存中,
我的流程就没有意义。在内存中销毁拉。如何得到,这些问题 困扰我很久,其实很简单就是持久化的问题 钝化,现在来看图说话

上面2个图就是我的流程审批界面,1图提交信息界面,2图解决问题界面


上面的这个图:就是需要首先创建一个workflowRuntime 是的环境
然后注册一些事件,需要留意一个workflowdled这个事件,是在流程实例不用的时候,立刻销毁内存中的占用的资源
ExternalDataExchangeService 这个就是一个服务扩展,
通过他来接外来事件。
sqlWorkflowPersistenceService 保存流程实例的,
上面很重要哦 钝化 就需要这个。。




这个就是最简单的工作流传递参数。
type = typeof(WorkflowHelpCenterDemo.Workflow1);这个就是我们的流程引擎,然后获取他的type
然后就可以通过theWorkflowRuntime.CreateWorkflow(type,parameters)得到一个流程的实例
还有就是要注意,传递参数给流程。workflow1的时候,流程那边必须有对应的属性来接应他的参数,要不燃,会包错。



kk上面的这个图,就是用来获取已经被钝化的流程实例,得到这个实力然后进行操作。

流程图
事件激活,和函数调用






这个就是上面注册的workflowruntime的销毁实例的事件,通过他来销毁占用资源





下面就是具体的销毁过程,大概里面应该注意的一些细节。。


上面只是简单的说明,具体代码在后天发布出来,没有开虚机,没有贴代码。
流程应该很清楚。。

提交问题    ========钝化==========解决问题

希望大家能学习到一些关于wf的简单的皮毛。。


代码在后天上传。。。

                                                           =========================================================AA




posted on 2007-09-14 21:54  A A  阅读(4162)  评论(8编辑  收藏  举报