2009-06-10 115 views
3

内的一个独立的工作流这似乎是更复杂,比我先猜。我有一个需要在代码中启动另一个工作流程的工作流程。这是如何完成的?我是否必须首先获取对当前工作流实例的WorkflowRuntime的引用?Windows工作流:开始从工作流

回答

7

我认为InvokeWorkflowActivity可能是你在找什么。我用它从其他工作流中启动工作流程,并且运行良好。

要知道的是,新的工作流程(就像所有的工作流)是异步执行的,因此,“父母的工作流程”将继续推出具有孩子的工作流程后直接执行的事实。

如果您(无论出于何种原因)不能使用InvokeWorkflowActivity(例如,如果新工作流将从父级工作流调用的服务中的代码启动),则您将以某种方式获取工作流运行时实例。

我接触过这种情况的方法是声明在服务接口的事件,并有工作流程主机附加一个侦听该事件在该服务添加到运行时。然后,您将拥有一个可以从服务中调用的代码点(通过提升事件),该代码点也可以访问运行时;那么您拥有启动新工作流程所需的一切。

+0

我与闲逛......它看起来像我创建对象,分配TargetWorkflow,分配参数绑定,然后......世界上该如何实际开始执行? – Chris 2009-06-10 20:42:39