public override void HandleBasicDeliver(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, IBasicProperties properties, byte[] body) { logger.LogDebug("got rabbitq message"); if (!consumer.CanHandle()) { this.Model.BasicNack(deliveryTag, false, true); } else { try { consumer.Handle(JsonUtil.FromBytes <Message>(body)); this.Model.BasicAck(deliveryTag, false); } catch (Exception ex) { logger.LogError(ex, "Unable to handle message"); this.Model.BasicNack(deliveryTag, false, true); } } }