public static IServiceCollection ConfigureReloadable <T>( this IServiceCollection self, IConfiguration configuration, IConfigurationRegister registry, string sectionName) where T : class { var initialised = false; self.Configure <T> (config => { Action bind = () => { var section = configuration.GetSection(sectionName); section.Bind(config); }; if (!initialised) { registry.AddWatchOnEntireConfig(bind); initialised = true; } bind(); }); return(self); }
public static void InitConfiguration() { var configurationRegister = new ConfigurationRegister(ConsulClient); configurationRegister.SetKeyValueAsync($"basic/{ServiceName}", "{\"database\":\"Database=aspros.user;\"}").Wait(); configurationRegister.AddUpdatingPathAsync("basic").Wait(); ConfigurationRegister = configurationRegister; }
public static IConfigurationBuilder AddJsonConsul(this IConfigurationBuilder builder, IConfigurationRegister configurationRegister) { var consul = new ConsulConfigurationSource(configurationRegister); configurationRegister.UpdateKeyParser(new JsonKeyValueParser()); builder.Add(consul); return(builder); }
public ConsulConfigurationProvider(IConfigurationRegister configurationRegister) { _configurationRegister = configurationRegister; }
public ConsulConfigurationSource(IConfigurationRegister configurationRegister) { _configurationRegister = configurationRegister; }