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);
 }
Exemple #4
0
 /// <inheritdoc />
 public IStashboxContainer ComposeBy(ICompositionRoot compositionRoot)
 {
     this.ThrowIfDisposed();
     compositionRoot.Compose(this);
     return(this);
 }