我想知道我一次只能收到一条消息,这是基本代码
var factory = new ConnectionFactory() { HostName = "localhost" };
var connection = factory.CreateConnection()
var channel = connection.CreateModel()
channel.QueueDeclare("hello", false, false, false, null);
var consumer = new QueueingBasicConsumer(channel);
channel.BasicConsume("hello", true, consumer);
BasicDeliverEventArgs ea = (BasicDeliverEventArgs)consumer.Queue.Dequeue();
var body = ea.Body;
var message = Encoding.UTF8.GetString(body);
Response.Write(message + " Received.");
Run Code Online (Sandbox Code Playgroud)
pin*_*ain 10
如果您要等待1条消息,请继续使用channel.BasicConsume
,但在单条消息后留下消费者方法.
如果您只收到1条消息(如果队列中至少存在1条消息)那么 channel.BasicGet
var data = channel.BasicGet(queueName, true);
Run Code Online (Sandbox Code Playgroud)
PS:
CloudAMQP与.NET有很好的例子:入门页面.
如果您需要需要转换的消息中的文本,请补充最后一条消息:
var data = channel.BasicGet(QueueName, true);
var message = System.Text.Encoding.UTF8.GetString(data.Body);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6235 次 |
最近记录: |