private void Compose(ICompositionRoot compositionRoot) { var compositionRootAssembly = GetCompositionRoot(compositionRoot); var registrator = _registratorProvider.Provide(compositionRootAssembly); compositionRoot.Compose(registrator); }
private static void ConfigureCompositionRoot() { var supportAssemblies = new[] { Assembly.Load("InfoFenix.Bootstrap"), Assembly.Load("InfoFenix.Configuration"), Assembly.Load("InfoFenix.CQRS"), Assembly.Load("InfoFenix.Data"), Assembly.Load("InfoFenix.Domains"), Assembly.Load("InfoFenix.IoC"), Assembly.Load("InfoFenix.Logging"), Assembly.Load("InfoFenix.Migrations"), Assembly.Load("InfoFenix.Office"), Assembly.Load("InfoFenix.PubSub"), Assembly.Load("InfoFenix.Search"), Assembly.Load("InfoFenix.Services"), typeof(EntryPoint).Assembly }; var defaultServiceRegistrations = new IServiceRegistration[] { new ClientServiceRegistration(supportAssemblies), new BootstrapServiceRegistration(supportAssemblies), new DataServiceRegistration(), new CQRSServiceRegistration(supportAssemblies), new PubSubServiceRegistration(), new SearchServiceRegistration(), new LoggingServiceRegistration(), new ServicesServiceRegistration() }; var useRemoteSearchDatabaseServiceRegistrations = new IServiceRegistration[] { new NullWordDocumentServiceRegistration() }; var autonomousModeServiceRegistrations = new IServiceRegistration[] { new WordDocumentServiceRegistration() }; _compositionRoot = new CompositionRoot(); _compositionRoot.Compose(defaultServiceRegistrations); _compositionRoot.Compose(AppSettings.Instance.UseRemoteSearchDatabase ? useRemoteSearchDatabaseServiceRegistrations : autonomousModeServiceRegistrations); _compositionRoot.StartUp(); }
/// <inheritdoc /> public IStashboxContainer ComposeBy(ICompositionRoot compositionRoot) { compositionRoot.Compose(this); return(this); }
/// <inheritdoc /> public IStashboxContainer ComposeBy(ICompositionRoot compositionRoot) { this.ThrowIfDisposed(); compositionRoot.Compose(this); return(this); }