public static void AddImageServerDisk(this IServiceCollection collection, DiskOptions options)
        {
            collection.AddSingleton(options);

            collection.RemoveAll <IThumbnailRepository>();
            collection.AddSingleton <IThumbnailRepository, DiskThumbnailRepository>();
        }
Example #2
0
        /// <summary>
        /// Uses the disk caching provider (read config from configuration file).
        /// </summary>
        /// <param name="options">Options.</param>
        /// <param name="configuration">The configuration.</param>
        /// <param name="name">The name of this provider instance.</param>
        /// <param name="sectionName">The section name in the configuration file.</param>
        public static EasyCachingOptions UseDisk(
            this EasyCachingOptions options
            , IConfiguration configuration
            , string name        = EasyCachingConstValue.DefaultDiskName
            , string sectionName = EasyCachingConstValue.DiskSection
            )
        {
            var dbConfig    = configuration.GetSection(sectionName);
            var diskOptions = new DiskOptions();

            dbConfig.Bind(diskOptions);

            void configure(DiskOptions x)
            {
                x.EnableLogging  = diskOptions.EnableLogging;
                x.MaxRdSecond    = diskOptions.MaxRdSecond;
                x.LockMs         = diskOptions.LockMs;
                x.SleepMs        = diskOptions.SleepMs;
                x.SerializerName = diskOptions.SerializerName;
                x.CacheNulls     = diskOptions.CacheNulls;
                x.DBConfig       = diskOptions.DBConfig;
            }

            return(options.UseDisk(configure, name));
        }