3

我在尝试让工作流 (WF4) 调用长时间运行的 WCF 服务并在 WCF 服务完成时恢复处理时遇到问题。下图粗略地概述了我想要实现的目标。如果您能指出任何演示这种情况(或非常相似的情况)的示例,我们将不胜感激。有关信息,我已经看到了很多 WF 到 WF 的示例,但这些示例并没有真正帮助。

在此处输入图像描述

4

1 回答 1

0

你考虑过相关性吗?这是 WF4 为您处理的吗?在 WF3 中,这不是开箱即用的。这意味着如果您从长期运行的服务中发送请求,WF3 将不知道将响应消息路由到哪个工作流实例。

如果没有关联,来自 WCF 的回调将不会路由到“等待”工作流实例。

更新

您是否将相关令牌写入回调消息?

更新

抱歉,我没有示例,因为我不是 WF4 用户。我不得不在 WF3 中实现相关性,因为它不提供该功能。为此,我创建了一个查找服务,它将相关值映射到工作流实例 guid,然后入站调用可以通过 wsHttpContextBinding 定位特定实例。

但是 WF4 使您能够初始化并跟踪每个基于发送和接收的活动的相关性。你可以在这里阅读:

http://blogs.msdn.com/b/endpoint/archive/2010/01/04/what-sa-correlation-and-why-do-i-want-to-initialize-it.aspx

http://msdn.microsoft.com/en-us/library/ee358755(VS.100).aspx

于 2012-01-10T13:36:43.420 回答