我编了个顺序工作流(有几个if else)处理数据,然后web页面调用这个工作流,并且在Global.asax启动工作流,加载服务,但是把工作流持久化到数据库后如何重新加载这个工作流?还有就是每启动程序一次就会持久化一次从而在持久化数据库中产生一个instanceID,这样虽然是同一个任务确有好几个instanceID,这怎么办啊?谢谢各位了,如果给个例子就万分感谢了...

解决方案 »

  1.   

                    Guid[] lstWorkflowinstance=从数据库将符合你条件的工作流实例ID数组取出来;
                    
                    HttpApplicationState application = HttpContext.Current.Application;                WorkflowRuntime workflowRuntime = (application[Common.WorkflowRuntimeName] as WorkflowRuntime);                    for (int i = 0; i < lstWorkflowinstance.Length; i++)
                        {
                            workflowRuntime.GetWorkflow(lstWorkflowinstance[i]);
                        }
    这样就加指定的实例重新加裁了。
    针对你的第二个问题,每个工作流实例在生命周期内只能有一个GUID,你每执行一次就生成了一个instanceid,那是由于业务层代码设计不合理,跟WF没关系。