Guest User

Untitled

a guest
May 18th, 2018
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. public class MessageBroker
  2. {
  3. private ConnectionFactory _factory;
  4. private IConnection _connection;
  5. private IModel _channel;
  6.  
  7. public string QueueName { get; set; }
  8.  
  9. public void Connect()
  10. {
  11. _factory = new ConnectionFactory() { HostName = "hound.rmq.cloudamqp.com", VirtualHost = "-", UserName = "-", Password = "-" };
  12.  
  13. _connection = _factory.CreateConnection();
  14.  
  15. _channel = _connection.CreateModel();
  16. _channel.QueueDeclare(QueueName, true, false, false, null);
  17. }
  18.  
  19. private void Cleanup()
  20. {
  21. try
  22. {
  23. if (_channel != null && _channel.IsOpen)
  24. {
  25. _channel.Close();
  26. _channel = null;
  27. }
  28.  
  29. if (_connection != null && _connection.IsOpen)
  30. {
  31. _connection.Close();
  32. _connection = null;
  33. }
  34. }
  35. catch (IOException ex)
  36. {
  37. Console.WriteLine($"Cleanup failed! {ex.Message}");
  38. }
  39. }
  40.  
  41. public bool WriteMessageOnQueue(string queueName, string message)
  42. {
  43. try
  44. {
  45. QueueName = queueName;
  46. Connect();
  47. _channel.BasicPublish(string.Empty, queueName, null, Encoding.ASCII.GetBytes(message));
  48. }
  49. catch (Exception e)
  50. {
  51. Console.WriteLine(e);
  52. return false;
  53. }
  54. finally
  55. {
  56. Cleanup();
  57. }
  58.  
  59. return true;
  60. }
  61. }
Add Comment
Please, Sign In to add comment