Wcf 工作流实例ID上WF 4中的相关性 在.NET 4下的Windows工作流基础中,有没有一种基于长时间运行的持久化工作流的实例ID(GUID)来关联操作的方法?
例如:Wcf 工作流实例ID上WF 4中的相关性 在.NET 4下的Windows工作流基础中,有没有一种基于长时间运行的持久化工作流的实例ID(GUID)来关联操作的方法?,wcf,workflow-foundation,workflow-foundation-4,correlation,Wcf,Workflow Foundation,Workflow Foundation 4,Correlation,例如: 操作1创建工作流实例,将工作流实例ID返回给客户端 客户端稍后可能会查询InstanceStore数据库以从Instances视图中检索InstanceId 客户端调用操作2并传递InstanceId以进行基于内容的关联 如果让客户端创建GUID并将其传递给第一个操作,在基于内容的关联中使用该值,然后在持久化时提升该值,则可以完成所有这些。不过,这似乎是多余的,因为工作流已经在为实例创建GUID。创建一个活动,从传入的上下文中检索工作流实例Id,并从SendReply活动返回该Id。接下
如果让客户端创建GUID并将其传递给第一个操作,在基于内容的关联中使用该值,然后在持久化时提升该值,则可以完成所有这些。不过,这似乎是多余的,因为工作流已经在为实例创建GUID。创建一个活动,从传入的上下文中检索工作流实例Id,并从SendReply活动返回该Id。接下来,使用SendReply上的CorrelationInitializer设置请求相关性。Ah,您指的是传递给CodeActivity的Execute方法的CodeActivityContext。“上下文”在这个上下文中是一个重载术语谢谢,这很有效。我必须使用SendReplyToReceive将GUID作为参数发送回以配置CorrelationInitializer,但我还是想这样做。是的,CodeActivityContext或NativeActivityContext(取决于您选择的活动和上下文)确实有些过载。而且消息关联总是在WCF消息的某个部分上进行的,因此您必须将WorkflowInstanceId返回给调用方。但无论如何,他们需要知道未来消息的价值。