public static IRecieveOnlyBus Initialise(IBusConfigutration configuration, MessageRouteTable routes = null)
        {
            routes = routes ?? new MessageRouteTable();

            var bus = new RecieveOnlyBus(configuration, routes)
            {
                container = new Container(x =>
                {
                    x.For <ISendOnlyBus>().Use(new SendOnlyBus(configuration, routes)).Singleton();
                })
            };

            return(bus);
        }
Пример #2
0
        static async Task MainAsync()
        {
            var routes = new MessageRouteTable()
                         .AddRoute <MyQueueMessage>("my-message-queue")
                         .AddRoute <MyTopicMessage>("my-message-topic");

            while (true)
            {
                Console.WriteLine("Please enter option:");
                Console.WriteLine("Q: queue");
                Console.WriteLine("T: topic");
                Console.WriteLine("X: exit");
                Console.WriteLine();

                var option = Console.ReadKey();
                var bus    = new SendOnlyBus(new BusConfigutration(), routes);

                switch (option.Key)
                {
                case ConsoleKey.X:
                    return;

                case ConsoleKey.Q:
                    Console.WriteLine();
                    Console.WriteLine($"Please enter body as text.");
                    await bus.Send(new MyQueueMessage { SomeString = Console.ReadLine() });

                    continue;

                case ConsoleKey.T:
                    Console.WriteLine();
                    Console.WriteLine($"Please enter body as text.");
                    await bus.Publish(new MyTopicMessage { SomeString = Console.ReadLine() });

                    continue;

                default:
                    continue;
                }



                //await bus.Send(new MyQueueMessage { SomeString = "From my queue!" });
                //await bus.Publish(new MyTopicMessage { SomeString = "From my topic!" });
            }
        }
 private RecieveOnlyBus(IBusConfigutration configuration, MessageRouteTable routes = null)
 {
     this.configuration = configuration;
     this.routes        = routes ?? new MessageRouteTable();
 }
 public SendOnlyBus(IBusConfigutration configuration, MessageRouteTable routes = null)
 {
     this.configuration = configuration;
     this.routes        = routes ?? new MessageRouteTable();
 }