NServiceBus Saga/Handler, вызывающий службу Wcf

Кто-нибудь может помочь мне правильно вызвать службу Wcf из NServiceBus Saga\Handler?

В настоящее время я делаю синхронный вызов из обработчика.

Однако недавно IIRC на страницах документации NServiceBus рекомендовал использовать Saga, но не предоставил дополнительных подробностей.

Насколько я понимаю, Saga предпочтительнее, поскольку ее можно сохранить, пока обрабатывается вызов Wcf, а затем возобновить для получения ответа. (Единственная другая мысль заключается в том, что Saga предпочтительнее, поскольку они обычно дольше работают, чем Handlers).

Мне нужна помощь, так это наиболее подходящий способ возобновить работу экземпляра Saga по ответу службы Wcf.

Спасибо Марк


person Winny    schedule 05.11.2012    source источник


Ответы (1)


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

Вместо этого сага отправит сообщение обработчику, и этот обработчик синхронно вызовет WCF, а затем отправит сообщение обратно с ответом.

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

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

person Udi Dahan    schedule 05.11.2012
comment
Спасибо за ваш ответ, это большая помощь. - person Winny; 06.11.2012