public static CacheWrapper <TSource> SetCache <TSource>(this CacheWrapper <TSource> cacheWrapper, List <TSource> caches, CacheType cacheType, KolibreCacheOptions options) where TSource : class { if (cacheWrapper == null) { throw new ArgumentNullException(nameof(cacheWrapper)); } cacheWrapper.Caches = caches; cacheWrapper.CacheType = cacheType; if (!cacheWrapper.AbsoluteExpiration.HasValue) { cacheWrapper.AbsoluteExpiration = options.AbsoluteExpiration.HasValue ? options.AbsoluteExpiration.Value : DateTimeOffset.MaxValue; } if (!cacheWrapper.SlidingExpiration.HasValue) { cacheWrapper.SlidingExpiration = options.SlidingExpiration; } if (cacheWrapper.SlidingExpiration.HasValue) { cacheWrapper.SlidingExpirationTime = DateTimeOffset.UtcNow.ToChinaStandardTime().Add(cacheWrapper.SlidingExpiration.Value); } return(cacheWrapper); }
public static CacheWrapper SetCache(this CacheWrapper cacheWrapper, string cache, CacheType cacheType, KolibreCacheOptions options) { if (cacheWrapper == null) { throw new ArgumentNullException(nameof(cacheWrapper)); } cacheWrapper.Cache = cache; cacheWrapper.CacheType = cacheType; if (!cacheWrapper.AbsoluteExpiration.HasValue) { cacheWrapper.AbsoluteExpiration = options.AbsoluteExpiration.HasValue ? options.AbsoluteExpiration.Value : DateTimeOffset.MaxValue; } if (!cacheWrapper.SlidingExpiration.HasValue) { cacheWrapper.SlidingExpiration = options.SlidingExpiration; } if (cacheWrapper.SlidingExpiration.HasValue) { cacheWrapper.SlidingExpirationTime = DateTimeOffset.UtcNow.ToChinaStandardTime().Add(cacheWrapper.SlidingExpiration.Value); } return(cacheWrapper); }