Как использовать корреляцию в WF4 StateFlow (обновление платформы 1)
У меня есть служба WF (CustomerProvisioningService), которая получает сообщение запроса и сразу запускает StateFlow (CustomerProvisioningStateFlow) и помечается как CanCreateInstance.
Первое состояние в потоке имеет последовательный поток в качестве своей операции Entry, который представляет собой длительный рабочий поток с собственным шаблоном Send и ReceiveReply для вызова и получения дополнительной информации (ProvisionCustomerActivityFlow). Этот рабочий процесс CanCreateInstance тоже.
Я полагаю, что для последовательного потока мне нужно управлять корреляцией на основе контента (CustomerId), и таким образом я могу определить постоянный рабочий процесс в базовой сохранности AppFabric sql.
Впоследствии у меня есть другие операции в StateFlow, которые представлены вызовами службы WCF, аналогично:
SuspendCustomer(string customerId)
Я предполагаю, что мне нужно подобрать правильный экземпляр StateFlow, сопоставив его с CustomerId в StateFlow, но я не могу найти способ применить Correlation в StateFlow, ни добавив CorrelationInitializer, ни ссылаясь на локальную переменную CorrelationHandle.
Теперь я спрашиваю, нужна ли мне корреляция для StateFlow и если да, то как мне это сделать? Или я что-то здесь неправильно понимаю?
Большое спасибо
Брайан
1 ответ
Необходимо настроить корреляцию сообщений запроса для маршрутизации сообщений в один и тот же экземпляр рабочего процесса. У меня есть пример в моем блоге о том, как это настроить. В примере используется последовательность, но процесс совпадает с конечным автоматом.