예제 #1
0
 static void Main(string[] args)
 {
     if (push)
     {
         var publisher = new RabbitMQPublisher(server, port, username, password);
         publisher.BindAddress(routingKey, exchangeName);
         for (int i = 0; i < 100; i++)
         {
             publisher.pushToQueue(routingKey, new PersonModel()
             {
                 Id          = i,
                 Name        = $"Name_{i}",
                 CreatedDate = DateTime.Now.AddMinutes(i)
             });
         }
     }
     if (consume)
     {
         var consumer = new RabbitMQConsumer(server, port, username, password, exchangeName, queueName, routingKey);
         consumer.Init((PersonModel item) =>
         {
             Console.WriteLine($" Id: {item.Id}\t|\tName: {item.Id}\t|\tDate: {item.CreatedDate.ToString()}");
             return(true);
         });
         consumer.Consume();
     }
     Console.WriteLine("__________________________________________________________");
     Console.ReadKey();
 }
        public async Task <T> Consume(string exchangeName, string queue)
        {
            T response;

            try
            {
                RabbitMQConsumer <T> consumer = new RabbitMQConsumer <T>(rabbitmqSettings.Value.HostName, rabbitmqSettings.Value.UserName, rabbitmqSettings.Value.Password);

                response = consumer.Consume(exchangeName, queue);
            }
            catch (Exception)
            {
                response = null;
            }

            return(response);
        }
예제 #3
0
        static void Main(string[] args)
        {
            Console.WriteLine("Please write your message:");
            var message = Console.ReadLine();

            _publisher = new RabbitMQPublisher(_queueName);
            _publisher.Publish(message);

            _consumer = new RabbitMQConsumer(_queueName);
            _consumer.Consume((model, ea) =>
            {
                var body    = ea.Body.ToArray();
                var message = Encoding.UTF8.GetString(body);

                Console.WriteLine("{0} - Incoming message from {1}: \"{2}\"", DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss"), _queueName, message);
            });

            Console.ReadLine();
        }