Я пытаюсь использовать EasyNetQ для отправки и получения сообщений от RabbitMQ,
Мне нужно отправить одно и то же сообщение нескольким получателям или тем, кто когда-либо подключен одновременно.
Я попробовал шаблон обмена сообщениями «публикация-подписка», и он работает нормально, но это больше похоже на циклический перебор, когда после получения получателем сообщения оно удаляется из очереди, и никто больше не может его увидеть.
Вот мой отправитель сообщения.
for (int i = 0; i < 10; i++)
{
using (IBus bus = RabbitHutch.CreateBus(Host))
{
bus.Publish(new TextMessage { Text = $"{i}: Hello World from EasyNetQ" }, "dashboard");
}
}
Вот мой приемник.
public void GetMessages ()
{
using (IBus bus = RabbitHutch.CreateBus(Host))
{
bus.Subscribe<TextMessage>("dashboard", HandleTextMessage);
Console.WriteLine("Listening for messages. Hit <return> to quit.");
Console.ReadLine();
}
}
static void HandleTextMessage(TextMessage textMessage)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Got message: {0}", textMessage.Text);
Console.ResetColor();
}
После получения сообщения никакой другой получатель не может увидеть это сообщение, и мне нужно, чтобы все подключенные получатели увидели одно и то же сообщение.