2012-02-08 89 views
1

我在调查Workflow Foundation并希望进行一些说明。WCF工作流服务可以将工作流类型作为参数吗?

单个工作流类型是否仍然绑定到单个WorkFlow服务,就像WF3中的情况一样?

或者工作流主机/工作流主机工厂(或类似的东西)可以在工作流服务前面使用,它将工作流类型作为参数?

我的情景是,我们将有多个工作流程,每个客户都有所不同。每个工作流程都将启动相同,但通过从客户端选择不同的工作流程被调用。我不希望为每个新客户对多个工作流服务进行硬编码调用,而是希望将新工作流活动添加到类库并将工作流名称添加到数据库中的客户记录中。 (这不会是这么简单,但我认为这解释了这个概念)。

干杯

回答

1

在WF 4.0 Workflow Service是一个工作流定义暴露通过WCF服务合同。所以是的,工作流服务是仍然直接耦合到工作流类型。

在你的情况下,我可能会定义一个facade服务合同单一操作直接映射到工作流实现的业务流程。该请求将包含令牌,该令牌唯一标识要为其启动过程的客户。该服务实现的话,会做逻辑一个两件事情:

  1. 启动工作流的请求客户
  2. 启动策划工作流程通过对客户身份令牌。这个工作流程将在适当的时候分发给客户特定的工作流程。

如果部分业务流程与客户之间的业务流程部分相同,则2)方法很有意义。此外,没有任何东西阻止您将客户特定的XAML工作流定义存储在数据库中,并且可以从编排工作流中存储load them at runtime

相关问题