代码之家  ›  专栏  ›  技术社区  ›  LeleDumbo

多次执行WorkflowInstance

  •  0
  • LeleDumbo  · 技术社区  · 17 年前

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

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

    当我这样做时,我得到一个异常消息,告诉我没有配置持久性服务。然而,我的问题是:在我执行 工作流实例 实例可以再次运行一次,还是会变得不可用?每次执行时是否必须创建另一个实例?

    4 回复  |  直到 17 年前
        1
  •  1
  •   Rutesh Makhijani    17 年前

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

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

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

        2
  •  0
  •   LeleDumbo    17 年前

    是的,我看我不能两次启动一个实例。然而,我想要的是创建一次实例,并且能够多次运行工作流。

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

        3
  •  0
  •   Dave Swersky    17 年前

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

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

        4
  •  0
  •   Kwal    17 年前

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

    推荐文章