В чем причина следующего исключения при попытке Отложить отправку сообщения на одностороннем клиенте: System.InvalidOperationException «Нельзя использовать самих себя как диспетчер тайм-аут, потому что мы односторонний клиент »Почему я не могу отложить отправку сообщения для одностороннего клиента
ответ
Односторонний клиент - это клиент Rebus, который не способен принимать сообщения, поэтому у него нет очереди ввода.
Путь await bus.Defer(...)
работает, отправив сообщение с some special headers в «диспетчер тайм-аута», который по умолчанию является конечной точкой, которая отсылает сообщение.
Но поскольку односторонний клиент не имеет входной очереди, ему некуда отправлять отправленное сообщение.
Вы можете сделать один-полосной клиент что отложить сообщения по настройке внешнего управляющего таймаутом как это:
Configure.With(...)
.(...)
.Options(o => o.UseExternalTimeoutManager(anotherQueue))
.Start();
, который будет вызывать клиент, чтобы отправить отложенное сообщение в эту очередь.
Кроме, вам придется вручную установить заголовок rbs2-defer-recipient
в какой-то другой входной очереди, так что менеджер тайм-аут знает, куда послать сообщение, когда пришло время, чтобы потребляться (*).
Надеюсь, что это объясняет :) Пожалуйста, дайте мне знать, если это неясно.
*) Это на самом деле не так с Ребусом 4, потому что bus.Defer
использует нормальные отображения конечных точек для маршрутизации сообщений.
- 1. Управление/отложить отправку 201 статус
- 2. Отложить отправку сообщения в определенное время с помощью RedisMqHost
- 3. Почему я не могу отложить функцию gl.drawArrays в WebGL?
- 4. Как я могу проверить отправку почты на сервере клиента
- 5. Как я могу отложить PHP?
- 6. Как я могу отложить событие?
- 7. Остановить отправку сообщения MDB
- 8. Как я могу вызвать отправку?
- 9. Я не могу отобразить форму сообщения для
- 10. Как я могу отложить действие слайдера?
- 11. Как я могу обрабатывать отправку/получение SMS?
- 12. Как я могу отложить функцию jQuery .blur?
- 13. Как я могу отложить вывод текста?
- 14. как я могу отложить или контролировать запросы?
- 15. Как я могу отложить действие onClick
- 16. Могу ли я отложить определенную часть программы?
- 17. Как я могу отложить функцию mouseout?
- 18. Как я могу отслеживать отправку RESTEasy?
- 19. Как я могу отложить обратную связь checkbox?
- 20. Как я могу отложить javascript от запуска
- 21. Как я могу отложить вызовы методов?
- 22. Почему я не могу получить «sessionid» на стороне клиента?
- 23. Почему я не могу подключиться от другого клиента к серверу?
- 24. Как я могу избежать сообщения обратной передачи?
- 25. Правильный способ отложить сообщения в Akka
- 26. Автоматическое отправку подтверждающего SMS-сообщения
- 27. Как отложить потребление сообщения в Kafka nodejs?
- 28. Сервер, не читающий сообщения клиента
- 29. Можно ли отложить отправку ack в реализацию socket.io netty?
- 30. Почему я не могу получить результат поиска?