static void Main(string[] args) { var settings = ServiceBusSettings.Create(); settings.ServiceBusSubscriptionNamePrefix = DateTime.Now.ToString("hhmmss"); var nsManager = new NamespaceManagerBuilder(); #if USE_MESSAGING_FACTORY var factoryBuilder = new MessagingFactoryBuilder(); #endif var serviceBus = new ServiceBus(settings, nsManager #if USE_MESSAGING_FACTORY , factoryBuilder #endif ); Logger = new Logger(); var activator = new HandlerActivator(); var busBuilder = new ServiceBusWithHandlersBuilder(serviceBus, activator, Logger); Logger.Information("Main", "Building bus"); busBuilder.CreateServiceBus() .WithEventHandlers(new List <Type>() { typeof(TestEventHandler), typeof(SecondTestEventHandler) }); var task = busBuilder.BuildAsync(); task.Wait(); var bus = task.Result; Logger.Information("Main", "Ready. Press 'p' to publish an event. Press 'q' to quit."); while (true) { var key = Console.ReadKey(true); if (key.KeyChar == 'q') { break; } if (key.KeyChar == 'p') { var testContent = Guid.NewGuid().ToString(); Logger.Information("Main", "Publishing event for {0}", testContent); bus.PublishAsync(new TestEvent() { Content = testContent }).Wait(); Logger.Information("Main", "Published"); } Thread.Sleep(100); } Logger.Information("Main", "Cleanup"); var cleanupTask = serviceBus.DeleteTopicAsync(typeof(TestEvent).FullName); cleanupTask.Wait(); cleanupTask = serviceBus.DeleteQueueAsync(typeof(TestEvent).FullName); cleanupTask.Wait(); }