private static void RegisterConfigurationCache(IServiceCollection services, PlainConfiguration plainConfiguration) { var plainConfigurationCache = new PlainConfigurationCache(); plainConfigurationCache.Add(plainConfiguration); services.AddSingleton <IPlainConfigurationCache>(plainConfigurationCache); }
public void Add(PlainConfiguration plainConfiguration) { if (plainConfiguration == null) { throw new ArgumentNullException(nameof(plainConfiguration)); } this.cache = plainConfiguration; }
public PlainConfiguration Read(IConfiguration configuration) { if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } var plainConfiguration = new PlainConfiguration(); configuration.Bind(plainConfiguration); if (plainConfiguration.Routes == null || !plainConfiguration.Routes.Any()) { throw new InvalidOperationException("Plain configuration routes cannot be read"); } if (!plainConfiguration.TimeoutInSeconds.HasValue) { plainConfiguration.TimeoutInSeconds = DefaultTimeoutInSeconds; } return(plainConfiguration); }