static async Task Main(string[] args) { var services = new ServiceCollection(); ConfigureServices(services); var serviceProvider = services.BuildServiceProvider(); InitializeDatabase(serviceProvider); ConfigureEventBus(serviceProvider); await FakeMQ.StartAsync(); while (true) { System.Console.WriteLine("INPUT:"); var input = System.Console.ReadLine(); switch (input) { case "0": await ShowMessagesAsync(serviceProvider); break; case "1": FakeMQ.EventBus.PublishEvent(new MessageEvent { Message = $"Action1:{DateTimeOffset.Now.ToString("yyyyMMddHHmmssfffffffzzzz")}" }); break; case "2": FakeMQ.EventBus.PublishEvent(new MessageEvent { Message = $"Action2:{DateTimeOffset.Now.ToString("yyyyMMddHHmmssfffffffzzzz")}" }); break; case "00": return; default: break; } ; } }
static async Task Main(string[] args) { var options = new FakeMQOptions(); var logger = new FakeMQLogger(); var eventBus = new FakeMQEventBus(options, logger, new FakeMQEventStore(ConnectionString), new FakeMQProcessStore(ConnectionString)); FakeMQ.Initialize(options, logger, eventBus); FakeMQ.EventBus.RegisterEventHandler <MessageEvent, MessageEventHandler>(); await FakeMQ.StartAsync(); while (true) { System.Console.WriteLine("INPUT:"); var input = System.Console.ReadLine(); switch (input) { case "0": await ShowMessagesAsync(); break; case "1": FakeMQ.EventBus.PublishEvent(new MessageEvent { Message = $"Action1:{DateTimeOffset.Now.ToString("yyyyMMddHHmmssfffffffzzzz")}" }); break; case "2": FakeMQ.EventBus.PublishEvent(new MessageEvent { Message = $"Action2:{DateTimeOffset.Now.ToString("yyyyMMddHHmmssfffffffzzzz")}" }); break; case "00": return; default: break; } ; } }