.net очереди сообщений - PullRequest
1 голос
/ 08 мая 2011

У меня есть клиентское приложение winforms, которое отправляет сообщения в веб-службу asp.net, мне нужно иметь возможность ставить эти сообщения в очередь на клиенте, а затем отправлять их по порядку, ожидая ответа от веб-службы, прежде чем отправлятьследующее сообщение.

Я просмотрел несколько примеров организации очередей с использованием WCF, но у них, похоже, была очередь на сервере, а не на клиенте.

Любые советы о том, какую технологию использовать и какдля реализации решения будет очень признателен.

Ответы [ 4 ]

4 голосов
/ 08 мая 2011

Зачем ждать ответа сервера перед отправкой следующего сообщения? нет веских причин для этого. Просто пометьте сообщения порядковым номером и обработайте их по порядку на сервере.

MSMQ имеет очередь как на клиенте, так и на сервере и перемещает сообщение, когда соединение доступно.

0 голосов
/ 12 августа 2011

Если вам нужна надежная доставка, почему бы не использовать AMQP с брокером сообщений, таким как RabbitMQ?

0 голосов
/ 08 мая 2011

Вы можете использовать промежуточное ПО для очереди (MSMQ и т. Д.).

Альтернативой может быть поточно-ориентированная очередь производителя / потребителя на клиенте.Ваш «основной» код просто добавляет в очередь (ConcurrentQueue в 4.0 может хорошо работать здесь, хотя даже в 4.0 я склонен использовать очередь утилит, которую я написал некоторое время назад);и у вас есть выделенный рабочий поток, который удаляет сообщения, выполняет WCF и обрабатывает ответ.

0 голосов
/ 08 мая 2011

Есть и доброе старое MSMQ , но оно также ставит вещи в очередь на сервере.

...