WF4 вызывает службу WCF
У меня проблема при попытке заставить рабочий процесс (WF4) вызывать долго работающую службу WCF, а затем возобновлять обработку после завершения службы WCF. Диаграмма ниже дает приблизительное представление о том, чего я пытаюсь достичь. Если бы вы могли указать мне на любые образцы, которые демонстрируют этот сценарий (или что-то очень похожее), это было бы очень ценно. Для информации, я видел много примеров WF to WF, которые не очень помогли.
1 ответ
Вы рассматривали корреляцию? Это обрабатывается для вас WF4? в WF3 это не предлагалось из коробки. Это означало, что если вы отправите запрос из давно работающей службы, WF3 не будет знать, к какому экземпляру рабочего процесса направить ответные сообщения.
Без корреляции обратный вызов из WCF не будет перенаправлен в "ожидающий" экземпляр рабочего процесса.
ОБНОВИТЬ
Вы пишете токен корреляции в сообщение обратного вызова?
ОБНОВИТЬ
Извините, у меня нет примеров, так как я не являюсь пользователем WF4. Мне пришлось реализовать корреляцию в WF3, потому что он не предлагал эту функцию. Чтобы сделать это, я создал службу поиска, которая отображала значения корреляции в направляющие экземпляров рабочего процесса, и тогда входящие вызовы могли предназначаться для определенных экземпляров через wsHttpContextBinding.
Но WF4 позволяет вам инициализировать и отслеживать корреляцию при каждой операции отправки и получения. Вы можете прочитать об этом здесь:
http://msdn.microsoft.com/en-us/library/ee358755(VS.100).aspx