Exemple #1
0
        /// <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);
 }