我不知道为什么页面出队时处理不会停止。我正在使用点网/C#。如果此死锁没有停止,我如何显示消息?
此外,我在教程中看到创建一个交换,然后创建一个动态队列并在教程号中绑定它。3.但是这段代码是怎么来的,我是从rabbitMQ c#示例中获取的,但他们没有使用这个。
我找不到随机创建的队列然后与交换绑定。此处给出了发射代码:: https://github.com/rabbitmq/rabbitmq-tutorials/blob/master/dotnet/EmitLog.cs
并且在接收中,如果我们在发出/发送日志时没有创建任何队列,那么为什么我们在这里创建它 :: https://github.com/rabbitmq/rabbitmq-tutorials/blob/master/dotnet/ReceiveLogs.cs
这段代码中的大部分死锁都写了出队。
using (var channel = connection.CreateModel())
{
channel.ExchangeDeclare("logs", "fanout");
var queueName = channel.QueueDeclare();
channel.QueueBind(queueName, "logs", "");
var consumer = new QueueingBasicConsumer(channel);
channel.BasicConsume(queueName, true, consumer);
Console.WriteLine(" [*] Waiting for logs." +
"To exit press CTRL+C");
while (true)
{
var ea = (BasicDeliverEventArgs)consumer.Queue.Dequeue();
var body = ea.Body;
var message = Encoding.UTF8.GetString(body);
Console.WriteLine(" [x] {0}", message);
}
}
1)还有一个问题,我正在使用交换将消息发送给所有用户。是对还是错?因为我在阅读教程后也没有得到任何东西。他们很困惑。我想在文本框中写一条消息,然后我希望任何用户点击接收消息时,他/她都应该收到该消息。这可以使用 Exchanges 吗?
2)对于每次/每次打开页面时,我都必须创建一个新的队列/交换?
请帮我。