工作流编程循序渐进(4:InvokeWorkflowActivity活动)
2010-09-30 20:57:15 来源:WEB开发网一、简介
使用InvokeWorkflowActivity 活动可以从一个工作流中异步方式启动另一个工作流。 在已启动的工作流开始执行且工作流分支中的下一个活动执行之前,InvokeWorkflowActivity 活动即告完成。
注意:
* WF不支持递归工作流。如果工作流A能够启动工作流B,则工作流B既不能直接启动工作流A,也不能启动任何直接或间接调用工作流A的工作流。
* InvokeWorkflowActivity活动要求工作流运行时使用当前附加到该运行时的计划程序服务创建新工作流。
* 所调用的工作流将只能够接收输入参数。不支持在工作流完成之后获取输出参数,因为该活动以异步方式调用工作流。
* 工作流之间的标准通信规则适用于与InvokeWorkflowActivny活动所创建的新工作流实例进行通信。
使用InvokeWorkflowActivity活动的步骤如下:
* 拖动一个InvokeWorkflowActivity到工作流中希望的位置处。
* 设置TargetWorkflow属性为希望执行的工作流的类型(Type)。
* 为TargetWorkflow设置所需要的值。
当设置TargetWorkflow属性时,该活动提供了对话框允许从所有引用到的活动类型列表中导航到正确的类型,但是只有派生自Activity的类会被显示在列表中。为了引用一个新的工作流类型,必须首先添加到包含工作流的项目或程序集的引用。具体对话框请参考本文后面的图示。
一旦定义了TargetWorkflow属性,工作流的参数集合属性将使用定义在TargetWorkflow中的其他任何属性所更新。允许开发人员在属性窗口中为任何所需的属性设置值,可以设置静态值或者是绑定属性到当前工作流的其他属性或者是其他活动的其他属性。
InvokeWorkflowActivity提供了一个Invoking事件允许开发人员使用代码处理。该事件在创建一个新的工作流之前触发,这使开发人员在开始一个新的工作流之前能够有机会完成一些设置任务。
更多精彩
赞助商链接