Advertisement
Guest User

Untitled

a guest
Apr 15th, 2019
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.30 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.ServiceModel;
  7. using System.ServiceModel.Channels;
  8. using System.ServiceModel.Web;
  9. using RabbitMQ.Client;
  10. using RabbitMQ.Client.Events;
  11. using System.Threading;
  12.  
  13.  
  14. namespace ConsoleApp5
  15. {
  16.     class Program
  17.     {
  18.         class MyConsumer : DefaultBasicConsumer
  19.         {
  20.             public MyConsumer(IModel model) : base(model) { }
  21.             public override void HandleBasicDeliver(string consumerTag, ulong deliveryTag, bool
  22.            redelivered, string exchange, string routingKey, IBasicProperties properties, byte[] body)
  23.             {
  24.                 var message = Encoding.UTF8.GetString(body);
  25.                 // show message
  26.             }
  27.             private static void Receiv(object model, BasicDeliverEventArgs ea)
  28.             {
  29.                 var body = ea.Body;
  30.                 var message = Encoding.UTF8.GetString(body);
  31.                 Console.WriteLine(" [x] Received:'{0}'", message, ConsoleColor.Yellow);
  32.             }
  33.  
  34.         }
  35.         static void Main(string[] args)
  36.         {
  37.             // host: https://api.cloudamqp.com/console/dd005f1a-f7de-408c-a2a6-3f3bdd8acfa8/details
  38.             /*
  39.             var factory = new ConnectionFactory()
  40.             {
  41.                 UserName = "dahjdrhx",
  42.                 Password = "ng-DairYiYJDTY9JyemWFB9By5WqxXcA",
  43.                 HostName = "eagle.rmq.cloudamqp.com",
  44.                 VirtualHost = "dahjdrhx"
  45.             };
  46.             */
  47.             // client http://localhost:15672/#/vhosts
  48.  
  49.             Thread.Sleep(1000);
  50.  
  51.  
  52.             var factory = new ConnectionFactory()
  53.             {
  54.                 UserName = "guest",
  55.                 Password = "guest",
  56.                 HostName = "localhost",
  57.                 VirtualHost = "103057"
  58.             };
  59.  
  60.             var connection = factory.CreateConnection();
  61.             var channel = connection.CreateModel();
  62.  
  63.             var consumer = new EventingBasicConsumer(channel);
  64.  
  65.             // ZAD 2
  66.             channel.BasicQos(0, 10, false);
  67.             channel.BasicQos(0, 15, true);
  68.             channel.BasicConsume("message_queue", false, consumer);
  69.             // ZAD 2
  70.  
  71.  
  72.             // ZAD 1
  73.             consumer.Received += (ch, ea) =>
  74.             {
  75.                 var body = ea.Body;
  76.                 // positively acknowledge a single delivery, the message will
  77.                 // be discarded
  78.                 var message = Encoding.UTF8.GetString(body);
  79.                 Console.WriteLine(" [x] Received:'{0}'", message, ConsoleColor.Yellow);
  80.  
  81.                 //channel.BasicAck(ea.DeliveryTag, false);
  82.             };
  83.  
  84.             //String consumerTag = channel.BasicConsume("message_queue", false, consumer);
  85.             // ZAD 1
  86.             // ZAD 3
  87.            
  88.             /*
  89.             var responseBytes = Encoding.UTF8.GetBytes(DateTime.Now.ToLongTimeString());
  90.             var replyProps = channel.CreateBasicProperties();
  91.             replyProps.CorrelationId = prop.CorrelationId;
  92.             channel.BasicPublish("", prop.ReplyTo, replyProps, responseBytes);
  93.             */
  94.  
  95.             // ZAD 3
  96.  
  97.  
  98.             Console.ReadKey();
  99.             channel.Close();
  100.             connection.Close();
  101.         }
  102.     }
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement