Question

In Windows Workflow Foundation under .NET 4.0, is there a way to correlate operations based on the InstanceId (GUID) of a long-running persisted workflow?

For example:

  1. Operation 1 creates workflow instance, returns workflow instance ID to client
  2. Client may later query InstanceStore database to retrieve InstanceId from Instances view
  3. Client calls Operation 2 and passes InstanceId for content-based correlation

I can do all of this if I have the client create and pass a GUID to the first operation, use that value in content-based correlation, then promote that value when persisting. That seems redundant, though, since the workflow is already creating a GUID for the instance.

Was it helpful?

Solution

Create an activity to retrieve the workflow instance Id from the context passed in and return this from the SendReply activity. Next use the CorrelationInitializer on the SendReply to setup the request correlation.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top