internal ConfigurationOptions ConfigureConnection(RedisServiceInfo si, RedisCacheConnectorOptions options) { UpdateOptions(si, options); ConfigurationOptions redisOptions = ConfigurationOptions.Parse(options.ToString()); return(redisOptions); }
private static void DoAddIDistributedCache(IServiceCollection services, RedisServiceInfo info, IConfiguration config, ServiceLifetime contextLifetime, IHealthChecksBuilder healthChecksBuilder = null) { Type interfaceType = RedisTypeLocator.MicrosoftInterface; Type connectionType = RedisTypeLocator.MicrosoftImplementation; Type optionsType = RedisTypeLocator.MicrosoftOptions; RedisCacheConnectorOptions redisConfig = new RedisCacheConnectorOptions(config); RedisServiceConnectorFactory factory = new RedisServiceConnectorFactory(info, redisConfig, connectionType, optionsType, null); services.Add(new ServiceDescriptor(interfaceType, factory.Create, contextLifetime)); services.Add(new ServiceDescriptor(connectionType, factory.Create, contextLifetime)); if (healthChecksBuilder == null) { services.Add(new ServiceDescriptor(typeof(IHealthContributor), ctx => new RedisHealthContributor(factory, connectionType, ctx.GetService <ILogger <RedisHealthContributor> >()), ServiceLifetime.Singleton)); } else { healthChecksBuilder.AddRedis(redisConfig.ToString()); } }
internal void UpdateOptions(RedisCacheConnectorOptions options, RedisCacheOptions redisOptions) { redisOptions.Configuration = options.ToString(); redisOptions.InstanceName = options.InstanceId; }