Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WCF请求如何与多个工作流实例关联?_Wcf_Workflow Foundation_Workflow Foundation 4_Workflowservice - Fatal编程技术网

WCF请求如何与多个工作流实例关联?

WCF请求如何与多个工作流实例关联?,wcf,workflow-foundation,workflow-foundation-4,workflowservice,Wcf,Workflow Foundation,Workflow Foundation 4,Workflowservice,该场景如下所示: 我有多个客户端,它们可以使用WCF请求在工作流服务器上注册自己,以接收某种通知。通知信息将使用另一个接收活动从外部系统接收。然后,工作流应获取通知信息,并使用发送活动和回调关联回调所有已注册的客户端(客户端将公开其中实现的回调接口以及最初随注册请求传递的端点地址)。“日志运行工作流服务”方法用于持久存储 现在,我正在寻找某种方法,将从外部系统接收到的通知的传入信息与之前注册请求时创建的持久化工作流实例相关联,以便使用已随注册请求一起传递的端点通知所有客户端。当接收到通知信息时,

该场景如下所示:

我有多个客户端,它们可以使用WCF请求在工作流服务器上注册自己,以接收某种通知。通知信息将使用另一个接收活动从外部系统接收。然后,工作流应获取通知信息,并使用发送活动和回调关联回调所有已注册的客户端(客户端将公开其中实现的回调接口以及最初随注册请求传递的端点地址)。“日志运行工作流服务”方法用于持久存储

现在,我正在寻找某种方法,将从外部系统接收到的通知的传入信息与之前注册请求时创建的持久化工作流实例相关联,以便使用已随注册请求一起传递的端点通知所有客户端。当接收到通知信息时,WF 4.0是否能够恢复和执行多个工作流实例,而无需手动存储端点并遍历它们?如果是,我怎么做

此外,如果我这样做的方法不正确,请告诉我使用WCF服务实现此类系统的最佳实践


非常感谢您的帮助。

当您将请求关联与工作流服务一起使用时,关联键必须始终与单个工作流实例匹配,您不能让多个工作流实例对单个消息做出反应。因此,您要么需要使用所有不同的关联键多播消息,要么以其他方式恢复工作流实例。另一种方法是将请求存储在某个位置,如SQL表,并让工作流定期检查该位置(如果需要通知客户端)。

当您将请求关联与工作流服务一起使用时,关联键必须始终匹配单个工作流实例,不能让多个工作流实例对一条消息作出反应。因此,您要么需要使用所有不同的关联键多播消息,要么以其他方式恢复工作流实例。另一种方法是将请求存储在某个位置,如SQL表,并让工作流在需要通知客户端时定期检查该位置