Workflow foundation 多次执行WorkflowInstance

Workflow foundation 多次执行WorkflowInstance,workflow-foundation,Workflow Foundation,如果我有一个WorkflowInstance可以连续执行两次吗 WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof(...)); instance.start(); instance.start(); 当我这样做的时候,我得到一个异常,告诉我我没有配置持久性服务。然而,我的问题是:在我执行一次WorkflowInstance之后,实例是否可以再次运行,或者它是否变得不可用?是否每次执行时都必须创建另一个实例?根据W

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

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

当我这样做的时候,我得到一个异常,告诉我我没有配置持久性服务。然而,我的问题是:在我执行一次
WorkflowInstance
之后,实例是否可以再次运行,或者它是否变得不可用?是否每次执行时都必须创建另一个实例?

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

看看


如果实例已在运行,则会引发InvalidOperationException

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


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

工作流实例一旦启动,就会在工作流定义中向前移动,然后终止。它不能“重用”以缓存和重用对象的方式执行另一个工作流


根据工作流的构建方式,您可以做一些事情来提高工作流的性能。

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