私はRabbitMQ用のC#Clientを使用しています。 多くの例では、接続を開いたままにしてメッセージを消費するために、Console.ReadLine()
またはwhile(true)
を使用しています。 while(true)
はCPUを焼き付け、ReadLine()
はウェブサーバーに実際には適用できません。C#:Webサーバ上のRabbitMQメッセージの使用
私はAsp.NetコアWebサービスを使用しており、いくつかのテストを作成しようとしています。私のサーバの起動方法で は、私はどこでも、このタスクを待っていないよ
Task.Factory.StartNew(() =>
{
using (IConnection connection = _connectionFactory.CreateConnection())
{
using (IModel channel = connection.CreateModel())
{
// configuring queue etc....
options.DeclareConsumer(queueName, MessageReceived);
ResetEvent.WaitOne();
}
}
});
これを呼び出します。私のウェブサーバに依頼して依頼を依頼したいのです。私の統合テストで
私はその後、私はブロックをいけないが、私はブロックする必要がある場合に便利であるならば、私は必要のないものをMailMessageQueue.ResetEvent.Set();
とのスレッドを停止することができるだろう。..
私は私であれば、多少混乱していますブロックするかどうか、必要なスレッド数など どこか便利な例がありますか?あなたがConsole.ReadLine
のようなものを入れていない場合は、コンソールアプリケーションで..
ありがとうございました。これを試して、有望に見える:) – Senj