public static void AddImageServerDisk(this IServiceCollection collection, DiskOptions options) { collection.AddSingleton(options); collection.RemoveAll <IThumbnailRepository>(); collection.AddSingleton <IThumbnailRepository, DiskThumbnailRepository>(); }
/// <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)); }