我在尝试让工作流 (WF4) 调用长时间运行的 WCF 服务然后在 WCF 服务完成时恢复处理时遇到问题。下图大致概述了我要实现的目标。如果您能指出任何证明这种情况(或非常相似的情况)的示例,我们将不胜感激。有关信息,我看过很多 WF 到 WF 示例,但这些示例并没有真正帮助。
最佳答案
您是否考虑过相关性?这是 WF4 为您处理的吗?在 WF3 中,这不是开箱即用的。这意味着如果您从长期运行的服务中发送请求,WF3 将不知道将响应消息路由到哪个工作流实例。
没有相关性,来自 WCF 的回调将不会被路由到“等待”工作流实例。
更新
是否将关联 token 写入回调消息?
更新
抱歉,我没有示例,因为我不是 WF4 用户。我不得不在 WF3 中实现关联,因为它没有提供该功能。为此,我创建了一个查找服务,将相关值映射到工作流实例 guid,然后入站调用可以通过 wsHttpContextBinding 定位特定实例。
但 WF4 使您能够初始化和跟踪每个基于发送和接收的事件的相关性。你可以在这里阅读:
http://msdn.microsoft.com/en-us/library/ee358755(VS.100).aspx
关于wcf - WF4 调用 WCF 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8802683/