public void Execute() { var url = Properties.Settings.Default.RabbitMqUrl; using (var connectionFactory = new DisposableConnectionFactory()) using (var connection = connectionFactory.Create(url)) using (var channel = connection.CreateModel()) { channel.ExchangeDeclare<UsableMessage>(RabbitMQ.Client.ExchangeType.Topic); } }
public void Execute() { var url = Properties.Settings.Default.RabbitMqUrl; using (var connectionFactory = new DisposableConnectionFactory()) using (var connection = connectionFactory.Create(url)) using (var channel = connection.CreateModel()) { channel.ExchangeDeclare<UsableMessage>(ExchangeType.Fanout); channel.QueueDeclare<UsableMessage>(); channel.QueueBind<UsableMessage>(routingKey:"some key"); } }
public void Execute() { var url = Properties.Settings.Default.RabbitMqUrl; using(var connectionFactory = new DisposableConnectionFactory()) using(var connection = connectionFactory.Create(url)) using (var channel = connection.CreateModel()) { var message = new UsableMessage {Description = "Hello world!"}; const string exchange = "TheUsableMessageExchange"; channel.PublishAsJson(message, exchange); } }
public void Execute() { var url = Properties.Settings.Default.RabbitMqUrl; using (var connectionFactory = new DisposableConnectionFactory()) using (var connection = connectionFactory.Create(url)) using (var channel = connection.CreateModel()) { const string queueName = "TheUsableMessageQueue"; channel.QueueDeclare(queue: queueName, durable: false, exclusive: false, autoDelete: true,arguments:null); } }
public void Execute() { var url = Properties.Settings.Default.RabbitMqUrl; using(var connectionFactory = new DisposableConnectionFactory()) using(var connection = connectionFactory.Create(url)) using (var channel = connection.CreateModel()) { var messages = new[] { new UsableMessage{Description = "Message1"}, new UsableMessage{Description = "Message2"}, }; const string exchange = "TheUsableMessageExchange"; channel.PublishCollectionAsJsonAsync(messages, exchange); } }
public void Execute() { var url = Properties.Settings.Default.RabbitMqUrl; using (var connectionFactory = new DisposableConnectionFactory()) using (var connection = connectionFactory.Create(url)) using (var channel = connection.CreateModel()) using (var subscriptionFactory = new SubscriptionFactory()) using (var subscription = subscriptionFactory.Create(channel:channel,queueName:"TheUsableMessageQueue")) { foreach (var message in subscription.Messages) { var messageBody = message.BodyAsJson<UsableMessage>(); ProcessMessage(messageBody); subscription.Ack(message); } } }