Correlazione in WF 4 su workflow InstanceId
-
11-10-2019 - |
Domanda
In Windows Workflow Foundation in .NET 4.0, c'è un modo per correlare le operazioni basate sul InstanceId (GUID) di un flusso di lavoro persistito a lungo in esecuzione?
Ad esempio:
- Operazione 1 crea flusso di lavoro, i rendimenti del flusso di lavoro ID istanza al cliente
- Cliente può in seguito interrogazione InstanceStore database per recuperare InstanceId da visualizzare le istanze
- client chiama Operazione 2 e passa InstanceId per la correlazione basata sul contenuto
posso fare tutto questo se ho il cliente di creare e passare un GUID alla prima operazione, utilizzare tale valore in correlazione basata sul contenuto, quindi promuovere tale valore quando persistente. Che sembra ridondante, però, dato che il flusso di lavoro è già creando un GUID per l'istanza.
Soluzione
Creare un'attività per recuperare l'ID istanza del flusso di lavoro dal contesto passato e restituire questo dall'attività SendReply. Avanti utilizzare il CorrelationInitializer sul SendReply per impostare la correlazione richiesta.