コード例 #1
0
        public async Task Message_should_be_retried_five_times()
        {
            retries = 0;
            var bus = BusFactory.Address("test")
                      .UseTestBroker()
                      .CreateBus();

            bus.Start().Wait();
            await bus.Send("test", new TestMessage { ThrowError = true });

            Assert.Equal(5, retries);
        }
コード例 #2
0
        public async Task Message_is_handled()
        {
            messageHandled = false;

            var bus = BusFactory.Address("test")
                      .UseTestBroker()
                      .CreateBus();

            await bus.Start();

            await bus.Send("test", new TestMessage());

            Assert.True(messageHandled);
        }
コード例 #3
0
        public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
        .ConfigureServices((hostContext, services) =>
        {
            services.AddHostedService <Worker>();
            services.AddScoped <IMyClass, MyClass>();
            var bus = BusFactory
                      .Address("diceroller-worker")
                      .UseRabbitMQ()
                      .AddServices(services)
                      .CreateBus();

            services.AddSingleton(bus);
        });
コード例 #4
0
        static async Task Main(string[] args)
        {
            var bus = BusFactory
                      .Address("diceroller-statistics")
                      .UseRabbitMQ()
                      .CreateBus();

            await bus.Subscribe("diceroller-worker", "DiceRolled");

            await bus.Start();

            Console.Title = "DiceRoller Statistics";
            Console.Read();

            await bus.Unsubscribe("diceroller-worker", "DiceRolled");

            await bus.Stop();
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: Zapote/EzBus
        static async Task Main(string[] args)
        {
            var bus = BusFactory
                      .Address("diceroller-client")
                      .UseRabbitMQ()
                      .CreateBus();

            Console.Title = "DiceRoller Client";

            var keyInfo = new ConsoleKeyInfo();

            while (keyInfo.Key != ConsoleKey.Escape)
            {
                Console.WriteLine("Press <enter> to send RollTheDice");
                keyInfo = Console.ReadKey();


                Console.WriteLine("sending");
                try
                {
                    var stopwatch = new Stopwatch();

                    stopwatch.Start();
                    await bus.Send("diceroller-worker", new RollTheDice { Attempts = 10 });

                    stopwatch.Stop();
                    System.Console.WriteLine("Outer:" + stopwatch.ElapsedMilliseconds);
                }
                catch (Exception e)
                {
                    System.Console.WriteLine(e);
                }
            }

            await bus.Stop();
        }