2

デキュー時にページの処理が停止しない理由がわかりません。私はドットネット/C#を使用しています。このデッドロックが止まらない場合、どのようにメッセージを表示できますか?

さらに、私はチュートリアルで交換を作成し、動的キューを作成してバインドするチュートリアルで見ました。3.しかし、どのようにこのコードに来るのか、私はrabbitMQ c# Examplesから取ってきましたが、彼らはこれを使用していません。

ランダムに作成されたキューが見つからず、交換でバインドされます。Emit コードはこちらで提供されています:: https://github.com/rabbitmq/rabbitmq-tutorials/blob/master/dotnet/EmitLog.cs

および受信では、ログの発行/送信中にキューを作成していない場合、ここで作成する理由 :: https://github.com/rabbitmq/rabbitmq-tutorials/blob/master/dotnet/ReceiveLogs.cs

そして、Dequeue が記述されているこのコードのすべてのデッドロックのほとんど。

 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) もう 1 つ質問があります。Exchange を使用してすべてのユーザーにメッセージを送信しています。それは正しいですか、それとも間違っていますか?チュートリアルも読んだ後、何も得られないため、混乱しています。テキストボックスにメッセージを書きたいのですが、ユーザーがメッセージの受信をクリックするたびに、そのメッセージを受信する必要があります.これはExchangeを使用して可能ですか?

2)ページが開くたびに、新しいキュー/エクスチェンジを作成する必要がありますか?

私を助けてください。

4

0 に答える 0