У меня есть сценарий, когда запрос отправляется в службу через моего клиента, теперь ответ поступает в очередь сообщений в Azure. Как я могу опросить очередь на стороне клиента и обновить представление, когда придет ответ, скажем, мне нужно обновить метку при получении данных в очереди.
Опрос лазурной очереди и обновление представления при поступлении данных в очередь Asp.net Mvc4
Ответы (1)
В Azure есть два типа очередей: Azure Queue. и Очередь служебной шины. Хотя теоретически вы можете получить к ним доступ со стороны клиента (я предполагаю, что это JavaScript), потому что CORS был представлен некоторое время назад (не уверен в поддержке CORS для ServiceBusQueue), возможно, это не тот лучший вариант.
Проблемы, с которыми вы можете столкнуться:
- Многие клиенты пытаются обрабатывать сообщения (блокировка и освобождение), очередь Azure не поддерживает сеансы, поэтому вам придется либо создавать очередь для каждого клиента, либо использовать очередь служебной шины (как я уже говорил ранее, не уверен в CORS) с сеансами.
- Что должно произойти, когда ваш клиент больше не в сети? Сообщение остается в очереди? До когда? Срок действия?
Другой подход
Вы можете выполнять обработку сообщений на сервере и уведомлять пользователя об изменении только с помощью SinglalR. Это дает вам гораздо большую гибкость (одно сообщение может вызвать уведомление для многих пользователей и т. д.).
Масштабирование SignalR с помощью служебной шины Azure
Использование SignalR с хранилищем таблиц Azure — какая архитектура?
person
b2zw2a
schedule
27.11.2014