Why don't you give this a shot:
EventHandlingScopeActivity HandleExternalEvent (completion event) EventHandlersActivity EventDrivenActivity HandleExternalEvent (update event)
The above workflow snippet leverages the EventHandlingScopeActivity. The way this activity works is that it has a main body that consists of one activity, which begins executing immediately, and an optional EventHandlersActivity child, that can contain one or more EventDriven activities. If EventDriven activities are specified, then these events will be listened for in parallel to the executing body, and can be received over and over as long as the main body is not complete.
So in your scenario, you will have a HandleExternalEventActivity in the main body that is blocking, waiting to receive the completion event. In parallel though, you will have another HandleExternalEventActivity sitting in an EventDrivenActivity receiving and processing update events over and over until the completion event arrives and the whole thing is done executing.
Does this address your desired pattern?
Thanks! Angel
Angel Azcarraga | Software Development Engineer in Test | Windows Workflow Foundation |