/// <summary> /// Withs the SERedis bus (read config from configuration file). /// </summary> /// <param name="options">Options.</param> /// <param name="configuration">The configuration.</param> /// <param name="sectionName">The section name in the configuration file.</param> public static EasyCachingOptions WithRedisBus( this EasyCachingOptions options , IConfiguration configuration , string sectionName = EasyCachingConstValue.RedisBusSection ) { var dbConfig = configuration.GetSection(sectionName); var redisOptions = new RedisBusOptions(); dbConfig.Bind(redisOptions); void configure(RedisBusOptions x) { x.AbortOnConnectFail = redisOptions.AbortOnConnectFail; x.AllowAdmin = redisOptions.AllowAdmin; x.Configuration = redisOptions.Configuration; x.ConnectionTimeout = redisOptions.ConnectionTimeout; x.Database = redisOptions.Database; x.IsSsl = redisOptions.IsSsl; x.Username = redisOptions.Username; x.Password = redisOptions.Password; x.SslHost = redisOptions.SslHost; foreach (var item in redisOptions.Endpoints) { x.Endpoints.Add(item); } } options.RegisterExtension(new RedisBusOptionsExtension(configure)); return(options); }
/// <summary> /// Initializes a new instance of the <see cref="T:EasyCaching.Redis.RedisDatabaseProvider"/> class. /// </summary> /// <param name="options">Options.</param> public RedisSubscriberProvider(IOptions <RedisBusOptions> options) { _options = options.Value; _connectionMultiplexer = new Lazy <ConnectionMultiplexer>(CreateConnectionMultiplexer); }