我正在开发子工作流的类库;我有一组用于创建子工作流的活动。我想将这些子工作流程开发为可重用的工作流程,可用于创建实际工作流程。我基本上是在实现现有工作流的类库,其他人可以使用它来创建实际的业务工作流。我想要的是当用户创建一个子工作流时,它应该自动添加到工作流的类库中并编译,并且应该在运行时作为可重用组件提供。
问问题
921 次
2 回答
1
我相信我了解您的目标,但是它并不像您认为的那么容易。
第一个直觉是向您的解决方案添加一个活动(添加 => 新项目 => 工作流 => 活动),然后将其他活动拖到设计图面上。
这将创建可重用的工作流,遗憾的是它们不会有任何设计器与之关联。因此,当另一个用户尝试从工具箱中拖动这些工作流并在不同解决方案的工作流中使用它们时,他们会得到如下信息:
这并不完全有用。另一种方法是创建一个实现IActivityTemplateFactory的自定义 Activity 。这种类型(我相信*)可以添加到工具箱中。当它们被拖到设计图面上时,会调用Create方法。在此方法中,您可以构建所需的任何工作流并将其返回。此活动树将添加到工作流中,以便其中的所有活动都可见。
*您可能还需要扩展 Activity 以使其显示在工具箱中;对此我不确定。认为 Activity 是一个实际上从未使用过的虚拟对象。
于 2011-04-18T15:36:38.050 回答
0
这也可能有用
WF 3 的客户经常要求的一种常见场景是能够在其中包含模板或“灰盒”或“有洞的活动”(因此上面的瑞士奶酪照片)。在 WF4 中,我们以一种称为 ActivityAction 的方式完成了这项工作
于 2011-04-29T18:17:40.240 回答