var queueName = "alwaysack_queue";
channel.QueueDeclare(queue: queueName, durable: false, exclusive: false, autoDelete: false, arguments: null);
channel.BasicQos(0, 5, false);
var consumer = new EventingBasicConsumer(channel);
consumer.Received += (model, ea) =>
{
try
{
var message = ea.Body;
Console.WriteLine("接收到信息为:" + Encoding.UTF8.GetString(message.ToArray()));
if (Encoding.UTF8.GetString(message.ToArray()).Contains("50"))
{
throw new Exception("模拟异常");
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
((EventingBasicConsumer)model).Model.BasicAck(ea.DeliveryTag, multiple: false);
}
};
channel.BasicConsume(queue: queueName, autoAck: false, consumer: consumer);