该方案如下:
我有多个客户端,他们可以使用WCF请求在工作流服务器上注册自己,以接收某种通知。将使用另一个接收活动从外部系统接收通知的信息。然后,工作流应该获取通知信息并使用发送活动和回调相关性回调所有已注册的客户端(客户端正在公开在那里实现的回调接口以及最初通过注册请求传递的端点地址)。 “日志运行工作流服务”方法与持久存储一起使用。
现在,我正在寻找某种方法将从外部系统收到的通知的传入信息与之前在注册请求时创建的持久工作流实例相关联,以便使用已经使用的端点通知所有客户端通过了注册请求。当收到通知的信息时,WF 4.0是否能够恢复和执行多个工作流实例而不以某种方式手动存储端点并通过它们?如果是,我该怎么做?
另外,如果我这样做的方法不正确,请告诉我使用WCF服务进行此类系统的最佳做法。
非常感谢您的帮助。
答案 0 :(得分:1)
当您使用与工作流服务的请求关联时,关联键必须始终与单个工作流实例匹配,您不能让多个工作流实例对单个消息做出反应。因此,您需要使用所有不同的关联键来组播消息,或者以其他方式恢复工作流实例。另一种方式可能是将请求存储在某个地方,如SQL表,并让工作流定期检查该位置是否需要通知客户端。