WF4 вызывает службу WCF

У меня проблема при попытке заставить рабочий процесс (WF4) вызывать долго работающую службу WCF, а затем возобновлять обработку после завершения службы WCF. Диаграмма ниже дает приблизительное представление о том, чего я пытаюсь достичь. Если бы вы могли указать мне на любые образцы, которые демонстрируют этот сценарий (или что-то очень похожее), это было бы очень ценно. Для информации, я видел много примеров WF to WF, которые не очень помогли.

введите описание изображения здесь

1 ответ

Вы рассматривали корреляцию? Это обрабатывается для вас WF4? в WF3 это не предлагалось из коробки. Это означало, что если вы отправите запрос из давно работающей службы, WF3 не будет знать, к какому экземпляру рабочего процесса направить ответные сообщения.

Без корреляции обратный вызов из WCF не будет перенаправлен в "ожидающий" экземпляр рабочего процесса.

ОБНОВИТЬ

Вы пишете токен корреляции в сообщение обратного вызова?

ОБНОВИТЬ

Извините, у меня нет примеров, так как я не являюсь пользователем WF4. Мне пришлось реализовать корреляцию в WF3, потому что он не предлагал эту функцию. Чтобы сделать это, я создал службу поиска, которая отображала значения корреляции в направляющие экземпляров рабочего процесса, и тогда входящие вызовы могли предназначаться для определенных экземпляров через wsHttpContextBinding.

Но WF4 позволяет вам инициализировать и отслеживать корреляцию при каждой операции отправки и получения. Вы можете прочитать об этом здесь:

http://blogs.msdn.com/b/endpoint/archive/2010/01/04/what-s-a-correlation-and-why-do-i-want-to-initialize-it.aspx

http://msdn.microsoft.com/en-us/library/ee358755(VS.100).aspx

Другие вопросы по тегам