Example #1
0
        /// <summary>
        /// Registers the co-dependent configuration and logging dependencies.
        /// </summary>
        private static void BuildInfrastructure(FileSystem fileSystem)
        {
            var configurationResolver = new ConfigurationResolver(fileSystem);

            var globalConfig = configurationResolver
                               .BuildConfiguration <GlobalConfiguration>();

            _container.RegisterSingleton <IGlobalConfiguration>(
                () => new GlobalConfiguration(globalConfig));

            _container.RegisterSingleton <IGlobalLogger>(
                () => new GlobalLogger(globalConfig.AddLogging()));

            var localConfig = configurationResolver
                              .BuildConfiguration <LocalConfiguration>();

            _container.RegisterSingleton <ILocalConfiguration>(
                () => new LocalConfiguration(localConfig));

            _container.RegisterSingleton <ILocalLogger>(
                () => new LocalLogger(localConfig.AddLogging()));
        }