Stas_P

Request/Reply Masstransit + RabbitMq

Aug 16th, 2012
768
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.15 KB | None | 0 0
  1. using System;
  2. using MassTransit;
  3.  
  4. namespace TestMasstransitRabbitMqReqReply
  5. {
  6.     internal class Program
  7.     {
  8.         private static void Main(string[] args)
  9.         {
  10.             string url = @"rabbitmq://localhost/test";
  11.             IServiceBus requestorBus = ServiceBusFactory.New(sbc =>
  12.                 {
  13.                     sbc.UseRabbitMqRouting();
  14.                     sbc.ReceiveFrom(url + "_requestor");
  15.                     sbc.Validate();
  16.                 });
  17.  
  18.             IServiceBus replierBus = ServiceBusFactory.New(sbc =>
  19.                 {
  20.                     sbc.UseRabbitMqRouting();
  21.                     sbc.ReceiveFrom(url + "_replier");
  22.                     sbc.Subscribe(
  23.                         sbs => { sbs.Handler<IConsumeContext<Request>>(ctx => ctx.Respond(new Response {Text = "Hello, " + ctx.Message.Text})); });
  24.                     sbc.Validate();
  25.                 });
  26.  
  27.             Console.WriteLine("Initialization is complete");
  28.             requestorBus.PublishRequest(new Request {Text = "John"},
  29.                                         configurator => configurator.Handle<Response>(message => Console.WriteLine(message.Text)));
  30.  
  31.             Console.ReadLine();
  32.  
  33.             requestorBus.Dispose();
  34.             replierBus.Dispose();
  35.         }
  36.     }
  37.  
  38.     public class Request
  39.     {
  40.         public string Text { get; set; }
  41.     }
  42.  
  43.     public class Response
  44.     {
  45.         public string Text { get; set; }
  46.     }
  47. }
Advertisement
Add Comment
Please, Sign In to add comment