Службы рабочих процессов ReceiveAndSendReply Время ожидания неупорядоченных вызовов - PullRequest
2 голосов
/ 22 августа 2010

Я создал образец сервиса Workflow.У меня проблема с вызовом в неупорядоченном виде.Все нижеприведенные действия имеют одинаковую корреляцию.Когда рабочий процесс запускается в GetData () и клиент пытается вызвать 4-е или 3-е действие получения, это приводит к тайм-ауту.Я ожидал, что отбросит

Операция 'Четвертый | {http://tempuri.org/}IService' на экземпляре службы с идентификатором' 04e7f5aa-5e01-47ac-8a6e-b20492c5ac19 'не может быть выполнена в данный момент.Убедитесь, что операции выполняются в правильном порядке и что используемая привязка обеспечивает упорядоченные гарантии доставки.

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

Время ожидания броска:

_http://img816.imageshack.us/img816/8344/receivetimeout.jpg

Работа:

_http://img843.imageshack.us/img843/2371/receiveworking.jpg

Спасибо, - Рональд

1 Ответ

0 голосов
/ 31 августа 2010

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

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

...