Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using RabbitMQ.Client;
- using RabbitMQ.Client.Events;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace rabbitMQTest
- {
- class Program
- {
- static void Main(string[] args)
- {
- ConnectionFactory factory = new ConnectionFactory()
- {
- HostName = "<host>",
- UserName = "<username>",
- Password = "<password>",
- VirtualHost = "/"
- };
- IModel channel;
- IConnection connection;
- EventingBasicConsumer consumer;
- factory.AutomaticRecoveryEnabled = true;
- factory.NetworkRecoveryInterval = TimeSpan.FromSeconds(5);
- factory.RequestedHeartbeat = 5;
- factory.SocketReadTimeout = 5000;
- factory.SocketWriteTimeout = 5000;
- factory.ContinuationTimeout = TimeSpan.FromSeconds(5);
- connection = factory.CreateConnection();
- channel = connection.CreateModel();
- string q = channel.QueueDeclare().QueueName;
- channel.QueueBind(q, "amq.rabbitmq.event", "queue.*");
- consumer = new EventingBasicConsumer(channel);
- consumer.Received += Consumer;
- channel.BasicConsume(queue: q, autoAck: true, consumer: consumer);
- }
- private static void Consumer(object sender, BasicDeliverEventArgs e)
- {
- e.BasicProperties.Headers.TryGetValue("vhost", out object vhost);
- Dictionary<string, string> headers = e.BasicProperties.Headers.ToDictionary(key => key.Key, value => Encoding.UTF8.GetString((byte[])value.Value));
- //throw new NotImplementedException();
- }
- }
- }
Add Comment
Please, Sign In to add comment