public void PubishCheckout(string queueName, CartCheckoutEvent publishModel) { using (var channel = _connection.CreatModel()) { channel.QueueDeclare(queue: queueName, durable: false, exclusive: false, autoDelete: false, arguments: null); var message = JsonConvert.SerializeObject(publishModel); var body = Encoding.UTF8.GetBytes(message); IBasicProperties properties = channel.CreateBasicProperties(); properties.Persistent = true; properties.DeliveryMode = 2; channel.ConfirmSelect(); channel.BasicPublish(exchange: "", routingKey: queueName, mandatory: true, basicProperties: properties, body: body); channel.WaitForConfirmsOrDie(); channel.BasicAcks += (sender, eventArgs) => { Console.WriteLine("Sent Message"); }; // channel.ConfirmSelect(); } }