コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
 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);
 }
コード例 #5
0
 /// <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);
 }