Exemple #1
0
 private static void RegisterConfigurationSettings(ContainerBuilder builder, AppSettingsRoot appSettingsRoot)
 {
     new[] { appSettingsRoot }
     .Cast <IConfigurationSetting>()
     .DepthFirst(ExtractSettingsObjects)
     .Do(setting => builder.RegisterInstance(setting)
         .AsSelf()
         .ExternallyOwned())
     .Done();
 }
Exemple #2
0
        public static IContainer LetThereBeIoC(IServiceCollection services, AppSettingsRoot appSettingsRoot)
        {
            var assembliesToScan = new[] { typeof(IoC).Assembly };

            var builder = new ContainerBuilder();

            builder.Populate(services);
            builder.RegisterAssemblyModules(assembliesToScan);
            RegisterConfigurationSettings(builder, appSettingsRoot); // TODO use ConfigInjector
            return(builder.Build());
        }
        public AppSettingReader()
        {
            var filePath = Path.Combine(Directory.GetCurrentDirectory(), FileName);

            try
            {
                var json = File.ReadAllText(filePath);
                _settings = JsonConvert.DeserializeObject <AppSettingsRoot>(json);
            }
            catch (Exception e)
            {
                throw new Exception($"Failed to read app settings from file ({filePath}).", e);
            }
        }
Exemple #4
0
        public static void Bootstrap(string[] args, out IConfiguration configuration, out AppSettingsRoot appSettingsRoot)
        {
            configuration = new ConfigurationBuilder()
                            .SetBasePath(Directory.GetCurrentDirectory())
                            .AddJsonFile("appsettings.json")
                            .AddEnvironmentVariables()
                            .AddCommandLine(args)
                            .Build();

            appSettingsRoot = configuration.Get <AppSettingsRoot>();
        }