базовое использование служебной шины на веб-сайте

#c# #nservicebus

#c# #nservicebus

Вопрос:

я делаю asp.net веб-сайт для поддержки запроса Json. Каждый запрос должен отправлять сообщение на ESB (фактически NServiceBus), но я борюсь с ответом..

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

Как я могу справиться с медленным или полным отсутствием ответа шины?

Ответ №1:

Взгляните на пример AsyncPages, который поставляется с NSB. Это демонстрирует, как вы можете использовать обратные вызовы и поддержку асинхронности в asp.net для создания надежной коммуникации на основе сообщений с веб-сайта. Обратные вызовы существуют, если вам нужно получить ответ обратно на веб-сервер, отправивший запрос (команду). Часто лучше, чтобы веб-сайт только отправлял сообщения, а затем считывал результат из другого хранилища данных (ravendb, sqlserver и т. Д.). Это даст вам возможность получить доступ к данным, даже если веб-сервер выйдет из строя (обратные вызовы не являются постоянными)