Advertisement
Guest User

Untitled

a guest
Apr 16th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.57 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 = "dahjdrhx",
  55. Password = "ng-DairYiYJDTY9JyemWFB9By5WqxXcA",
  56. HostName = "eagle.rmq.cloudamqp.com",
  57. VirtualHost = "dahjdrhx"
  58. };
  59.  
  60. var connection = factory.CreateConnection();
  61. var channel = connection.CreateModel();
  62. channel.QueueDeclare("message_queue", true, false, false, null);
  63. var consumer = new EventingBasicConsumer(channel);
  64.  
  65. // ZAD 2
  66. channel.BasicQos(0, 1, false);
  67. channel.BasicQos(0, 1, true);
  68.  
  69. for (int i = 0; i < 50; i++) {
  70. channel.BasicConsume("message_queue", false, consumer);
  71. // ZAD 2
  72.  
  73.  
  74. // ZAD 1
  75. consumer.Received += (ch, ea) =>
  76. {
  77. var body = ea.Body;
  78. // positively acknowledge a single delivery, the message will
  79. // be discarded
  80. var message = Encoding.UTF8.GetString(body);
  81. Console.WriteLine(" [x] Received:'{0}'", message, ConsoleColor.Yellow);
  82. Thread.Sleep(10000);
  83. channel.BasicAck(ea.DeliveryTag, false);
  84. };
  85.  
  86. }
  87. //String consumerTag = channel.BasicConsume("message_queue", false, consumer);
  88. // ZAD 1
  89. // ZAD 3
  90.  
  91. /*
  92. var responseBytes = Encoding.UTF8.GetBytes(DateTime.Now.ToLongTimeString());
  93. var replyProps = channel.CreateBasicProperties();
  94. replyProps.CorrelationId = prop.CorrelationId;
  95. channel.BasicPublish("", prop.ReplyTo, replyProps, responseBytes);
  96. */
  97.  
  98. // ZAD 3
  99.  
  100.  
  101. Console.ReadKey();
  102. channel.Close();
  103. connection.Close();
  104. }
  105. }
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement