/// <summary> /// Adds Local ConfigServer client to specified ServiceCollection /// </summary> /// <param name="source">The IServiceCollection to add local ConfigServer client to</param> /// <param name="applicationId">Identifier for application requesting the configuration</param> /// <returns>ConfigServer client builder for further configuration of client</returns> public static ConfigServerClientBuilder UseLocalConfigServerClient(this ConfigServerBuilder source, string applicationId) { var configurationCollection = new ConfigurationRegistry(); var builder = new ConfigServerClientBuilder(source.ServiceCollection, configurationCollection); source.ServiceCollection.Add(ServiceDescriptor.Transient <IConfigServer>(r => new LocalConfigServerClient(r.GetService <IConfigProvider>(), applicationId))); return(builder); }
/// <summary> /// Adds ConfigServer client to specified ServiceCollection /// </summary> /// <param name="source">The IServiceCollection to add ConfigServer client to</param> /// <param name="options">Options for ConfigServer client</param> /// <returns>ConfigServer client builder for further configuration</returns> public static ConfigServerClientBuilder AddConfigServerClient(this IServiceCollection source, ConfigServerClientOptions options) { var configurationCollection = new ConfigurationRegistry(); var builder = new ConfigServerClientBuilder(source, configurationCollection); source.Add(ServiceDescriptor.Transient <IHttpClientWrapper>(r => new HttpClientWrapper(options.Authenticator))); source.Add(ServiceDescriptor.Transient <IConfigServerClient>(r => new ConfigServerClient(r.GetService <IHttpClientWrapper>(), r.GetService <IMemoryCache>(), r.GetService <ConfigurationRegistry>(), options))); return(builder); }
/// <summary> /// Adds Local ConfigServer client to specified ServiceCollection /// </summary> /// <param name="source">The ConfigServerBuilder to add local ConfigServer client to</param> /// <param name="configServeruri">Identifier for application requesting the configuration</param> /// <returns>ConfigServer client builder for further configuration of client</returns> public static ConfigServerClientBuilder UseLocalConfigServerClient(this ConfigServerBuilder source, Uri configServeruri) { var builder = new ConfigServerClientBuilder(source.ServiceCollection); var option = new LocalServerClientOptions(configServeruri); builder.AddSingleton(option); builder.AddTransient <IConfigServer, LocalConfigServerClient>(); builder.AddTransient <IResourceServer, LocalResourceServerClient>(); return(builder); }
private static ConfigServerClientBuilder SetUpBuilder(ConfigServerClientBuilder builder, ConfigServerClientOptions options) { builder.AddSingleton(options); builder.AddSingleton <IHttpClientWrapper>(new HttpClientWrapper(options.Authenticator)); builder.AddTransient <IConfigServer, ConfigServerClient>(); builder.AddTransient <IResourceServer, ResourceServerClient>(); if (options.CacheOptions.IsDisabled) { builder.AddTransient <IClientCachingStrategy, NoCachingStrategy>(); } else { builder.AddTransient <IClientCachingStrategy, MemoryClientCachingStrategy>(); } return(builder); }
/// <summary> /// Adds ConfigInstance type to ConfigServer client registry /// </summary> /// <typeparam name="TConfig">ConfigInstance type to be added to registry</typeparam> /// <param name="source">Current ConfigServer client builder</param> /// <param name="name">Name of config on config server</param> /// <returns>ConfigServer client builder for further configuration</returns> public static ConfigServerClientBuilder WithCollectionConfig <TConfig>(this ConfigServerClientBuilder source, string name) where TConfig : class, new() { source.ConfigurationRegistry.AddRegistration(ConfigurationRegistration.BuildCollection <TConfig>(name)); return(source); }