Отправлять сообщения во временную очередь с помощью MassTransit - PullRequest
0 голосов
/ 08 января 2020

У меня есть следующий сценарий, где я не могу напрямую ответить на запрос MassTransit RequestClient

  • Запросить службу 1, реализующую RequestClient и вызывающую GetResponse
  • Другой сервис 2 имеет потребителя запроса, который просто сохраняет информацию запроса (messageId, requestId ...) в некотором хранилище и не отправляет ответ обратно.
  • На основе вызова API в сервисе 2 мы можем найдите сохраненную информацию о запросе и отправьте ответ в RequestClient. Я мог бы добиться этого, отправив ответ в временную очередь шины RequestClient, но сообщение попадает в пропущенную очередь временной очереди, и GetResponse никогда не получает сообщение.

Как можно ли сделать так, чтобы сообщение поступило в основную временную очередь и чтобы его нашел GetResponse потребитель.

1 Ответ

0 голосов
/ 15 февраля 2020

Если у кого-то есть похожий сценарий. Мы достигли этого, внедрив механизм ожидания события в потребителя. Когда в сервисе 2 выполняется внешний вызов API, происходит внутреннее событие, и потребитель, ожидающий его через ResetEvent, продолжает сбор ответа и отправляет его обратно из коробки RespondAsyn c.

...