2009-06-10 434 views
3

內的一個獨立的工作流這似乎是更復雜,比我先猜。我有一個需要在代碼中啓動另一個工作流程的工作流程。這是如何完成的?我是否必須首先獲取對當前工作流實例的WorkflowRuntime的引用?Windows工作流:開始從工作流

回答

7

我認爲InvokeWorkflowActivity可能是你在找什麼。我用它從其他工作流中啓動工作流程,並且運行良好。

要知道的是,新的工作流程(就像所有的工作流)是異步執行的,因此,「父母的工作流程」將繼續推出具有孩子的工作流程後直接執行的事實。

如果您(無論出於何種原因)不能使用InvokeWorkflowActivity(例如,如果新工作流將從父級工作流調用的服務中的代碼啓動),則您將以某種方式獲取工作流運行時實例。

我接觸過這種情況的方法是聲明在服務接口的事件,並有工作流程主機附加一個偵聽該事件在該服務添加到運行時。然後,您將擁有一個可以從服務中調用的代碼點(通過提升事件),該代碼點也可以訪問運行時;那麼您擁有啓動新工作流程所需的一切。

+0

我與閒逛......它看起來像我創建對象,分配TargetWorkflow,分配參數綁定,然後......世界上該如何實際開始執行? – Chris 2009-06-10 20:42:39