Workflow foundation 4 如何在WF4状态流中使用相关性(平台更新1)

Workflow foundation 4 如何在WF4状态流中使用相关性(平台更新1),workflow-foundation-4,correlation,stateflow,Workflow Foundation 4,Correlation,Stateflow,我有一个WF服务CustomerProvisioningService,它接收请求消息并立即运行StateFlow CustomerProvisioningStateFlow,该服务标记为CanCreateInstance 流中的第一个状态有一个顺序流作为其入口活动,这是一个长时间运行的工作流,具有自己的发送和接收模式,用于调用和接收额外信息ProvisionCustomerActivityFlow。此工作流也可以创建实例 我假设对于顺序流,我需要基于内容CustomerId管理关联,这样我就可

我有一个WF服务CustomerProvisioningService,它接收请求消息并立即运行StateFlow CustomerProvisioningStateFlow,该服务标记为CanCreateInstance

流中的第一个状态有一个顺序流作为其入口活动,这是一个长时间运行的工作流,具有自己的发送和接收模式,用于调用和接收额外信息ProvisionCustomerActivityFlow。此工作流也可以创建实例

我假设对于顺序流,我需要基于内容CustomerId管理关联,这样我就可以在底层AppFabric sql持久化中识别持久化工作流

随后,我在StateFlow中有其他操作,这些操作由WCF服务调用表示,类似于:

SuspendCustomer(string customerId)
我假设我需要通过与StateFlow中的CustomerId关联来获取正确的StateFlow实例,但是我找不到在StateFlow中应用关联的方法,无论是添加CorrelationInitializers还是引用本地CorrelationHandle变量

现在我想问的是,我是否需要对状态流进行关联,如果需要,我该如何做?还是我误解了什么

非常感谢


Brian

您需要设置请求消息关联,以将消息路由到同一工作流实例。我的博客上有一个关于如何设置的例子。本例使用序列,但过程与状态机相同。

Maurice,感谢您的回复,很抱歉回复时间太长。这是答案的一部分,一个重要的部分,但另一部分是我需要非常小心地设置嵌入式接收事件的相关化。另外,最后一点是让工作流服务直接调用状态流,而不是使用序列流来调用它。当我有机会的时候,我会努力把它记录下来