Очереди Windows Azure, WCF, интеграция MSMQ - PullRequest
1 голос
/ 19 марта 2010

У меня есть сценарий, в котором мне нужно настольное консольное приложение для связи с очередью Windows Azure ... самое важное, что сообщение в конечном итоге будет получено сервером. Кроме того, настольное приложение иногда может быть отключено от Интернета. При традиционном подходе WCF + MSMQ вы сможете отправлять сообщения, которые будут кэшироваться в MSMQ, пока MSMQ не сможет достичь MSMQ сервера и отправить сообщение. Что эквивалентно, когда Windows Azure находится на стороне сервера?

Возможно ли использовать тот же подход, когда MSMQ просто взаимодействует с очередью Windows Azure, а не MSMQ на Windows Server?

Может быть, Windows Azure Queue - неправильный подход? Я слышал о том, что называется буфером сообщений, но не знаю, что это такое (пока!).

спасибо за вашу помощь

Kris

Ответы [ 3 ]

1 голос
/ 23 марта 2010

Вы можете написать службу прослушивания MSMQ, которая завершает перемещение сообщения в очередь Azure, когда подключение к Интернету восстановлено. Я не думаю, что это будет слишком сложно.

Обновление Возможно, мой ответ не был ясен. Исходя из вопроса, клиент иногда подключается к Интернету, поэтому вам нужен способ парковки сообщения до тех пор, пока внутренности не распутаются. Используя Windows, самый простой способ сделать это - поместить сообщение в локальную очередь MSMQ. Затем у вас есть служба мониторинга этой очереди. Если есть сообщение, и оно может добраться до службы, размещенной в облаке, оно отправляет сообщение. После отправки сообщения его можно удалить из очереди.

0 голосов
/ 19 марта 2010

Это можно сделать с помощью буферов сообщений служебной шины Azure AppFabric - нет необходимости использовать очередь. Ознакомьтесь с примерами загрузки на следующем сайте: http://www.idesign.net/idesign/DesktopDefault.aspx?tabindex=5&tabid=11 - они должны отвечать на ваши вопросы гораздо лучше, чем я.

Привет

0 голосов
/ 19 марта 2010

Чтобы поместить сообщение в хранилище очередей Azure, необходимо подключиться к Интернету. Если вы хотите работать с отключенными сценариями, это полностью ваше дело. Я бы оставил решение очень простым и использовал бы локальное хранилище, такое как SQL Server Compact, а затем отправлял бы сообщения, как только будет установлено соединение, возможно, с помощью службы Windows (чтобы вам не нужно было запускать приложение для настольных компьютеров) .

...