Корреляция в WF 4 по рабочему процессу InstanceId - PullRequest
3 голосов
/ 16 ноября 2010

В Windows Workflow Foundation под .NET 4.0, есть ли способ сопоставить операции, основанные на InstanceId (GUID) долго выполняющегося постоянного рабочего процесса?

Например:

  1. Операция 1 создает экземпляр рабочего процесса, возвращает идентификатор экземпляра рабочего процесса клиенту
  2. Клиент может позже запросить базу данных InstanceStore для получения InstanceId из представления Instances
  3. Клиент вызывает операцию 2 и передает InstanceId для корреляции на основе содержимого

Я могу сделать все это, если у меня есть клиент, создающий и передающий GUID первой операции, использующий это значение в корреляции на основе содержимого, а затем повышающий это значение при сохранении. Это кажется избыточным, поскольку рабочий процесс уже создает GUID для экземпляра.

1 Ответ

4 голосов
/ 16 ноября 2010

Создайте действие, чтобы извлечь идентификатор экземпляра рабочего процесса из переданного контекста и вернуть его из действия SendReply. Затем используйте CorrelationInitializer на SendReply для настройки корреляции запроса.

...