多次执行WorkflowInstance

时间:2009-01-30 11:54:43

标签: workflow-foundation

如果我有WorkflowInstance我可以连续两次执行吗?

WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof(...));
instance.start();
instance.start();

当我这样做时,我得到并且异常告诉我我没有配置持久性服务。但是我的问题是:在我执行WorkflowInstance之后,第二次运行实例,或者它会变得无法使用?每次我想要执行时,是否必须创建另一个实例?

4 个答案:

答案 0 :(得分:1)

根据WorkflowInstance的规范,您只能启动一次实例

查看http://msdn.microsoft.com/en-us/library/system.workflow.runtime.workflowinstance.start.aspx

如果实例已在运行

,则抛出InvalidOperationException

答案 1 :(得分:0)

是的我看到我无法启动两次实例。但是,我想要的是创建一次实例并能够多次运行工作流程。

我的问题是WorkflowInstance创建有点沉重。

答案 2 :(得分:0)

工作流实例一旦启动,就会向前移动工作流定义,然后终止。它不能被“重用”来执行另一个工作流,就像对象可以被缓存和重用一样。

您可以采取以下措施来改善工作流程的效果,具体取决于构建方式。

答案 3 :(得分:0)

根据Rutesh的回答,你不能两次启动同一个实例。如果工作流已卸载(即保持),则可以使用WorkflowInstance.Load()再次加载工作流。