Как использовать корреляцию в WF4 StateFlow (обновление платформы 1) - PullRequest
0 голосов
/ 13 мая 2011

У меня есть служба WF (CustomerProvisioningService), которая получает сообщение запроса и сразу запускает StateFlow (CustomerProvisioningStateFlow) и помечается как CanCreateInstance.

Первое состояние в потоке имеет последовательный поток в качестве своей операции ввода, который представляет собой длительный рабочий поток с собственным шаблоном Send и ReceiveReply для вызова и получения дополнительной информации (ProvisionCustomerActivityFlow).Этот рабочий процесс тоже CanCreateInstance.

Я предполагаю, что для последовательного потока мне нужно управлять корреляцией на основе Content (CustomerId), и таким образом я могу идентифицировать постоянный рабочий процесс в базовом сохранении AppFabric sql.

Впоследствии у меня есть другие операции в StateFlow, которые представлены вызовами службы WCF, подобные:

SuspendCustomer(string customerId)

Я предполагаю, что мне нужно подобрать правильный экземпляр StateFlow, сопоставив его с CustomerId в StateFlow, ноЯ не могу найти способ применить Correlation в StateFlow, ни добавляя CorrelationInitializer, ни ссылаясь на локальную переменную CorrelationHandle.

Теперь я спрашиваю, нужна ли мне корреляция для StateFlow и, если да, то как мне это сделать?Или я что-то здесь неправильно понимаю?

Большое спасибо

Брайан

1 Ответ

0 голосов
/ 13 мая 2011

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

...