protected override void ConfigureApplicationContainer(ILifetimeScope existingContainer) { var setup = new Setup((IContainer)existingContainer); // defaults setup.WithGuidGenerator(); setup.WithThreadStaticTenantContext(); setup.WithMongo("MongoConnectionReadModel"); setup.RegisterReadModelRepositories(); // web specific var builder = new ContainerBuilder(); builder.RegisterType<NancyUserMapper>().As<IUserMapper>(); builder.RegisterType<StaticContentResolverForInMemory>().As<IStaticContentResolver>(); builder.RegisterType<ExcelService>().As<IExcelService>(); builder.Update(setup.Container.ComponentRegistry); // bus setup.WithInMemoryBus(); setup.RegisterReadModelHandlers(); // eventstore setup.WithMongoEventStore("MongoConnectionEventStore", new AuthorizationPipelineHook(setup.Container), new MessageDispatcher(setup.Container), false); // start the bus setup.Container.Resolve<IServiceBus>().Start(ConfigurationManager.AppSettings["serviceBusEndpoint"]); }