MSMQ -Не удается получить сообщения из очередей многоадресной рассылки

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

Вот где я нахожусь:

Я вручную создал не -транзакционную частную очередь с именем MulticastTest, а затем установил многоадресный адрес 234.1.1.1:8001. Затем мое тестовое приложение для отправки делает это:

MessageQueue queue = new MessageQueue("FormatName:MULTICAST=234.1.1.1:8001");
queue.Send("Hello World");

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

Итак, теперь я пытаюсь запустить принимающее приложение (либо на том же компьютере, либо на другом, настроенном на тот же многоадресный адрес ), и не могу заставить его работать. Если я попытаюсь:

MessageQueue queue = new MessageQueue("FormatName:MULTICAST=234.1.1.1:8001");
var message = queue.Receive();

это просто не сработает,метод Receive()выдает исключение, говорящее:

Указанное имя формата не поддерживает запрошенную операцию. Например, имя формата прямой очереди не может быть удалено

. Если я попытаюсь установить принимающую очередь как .\private$\MulticastTest, она по крайней мере ожидает сообщения, но ничего не происходит, все сообщения остаются в исходящей очереди.

Так что же я делаю не так? Должна ли быть запущена какая-то служба, чтобы MSMQ отправлял сообщения из исходящей очереди?

Я также пытался дать полные разрешения АНОНИМНОМУ ПОЛЬЗОВАТЕЛЮ согласно этому вопросу , но это не повлияло.

7
задан Community 23 May 2017 в 10:32
поделиться