private void AddToCache(string path, byte[] data, DateTime created) { switch (_cacheType) { case BlobCacheType.Memory: CacheHelper.Add(BlobCacheHelper.GetCacheKey(path), data, CacheHelper.GetCacheDependency(BlobCacheHelper.GetCacheDependency(path)), DateTime.Now.AddMinutes(AccountInfo.Instance.BlobCacheMinutes), System.Web.Caching.Cache.NoSlidingExpiration); break; case BlobCacheType.FileSystem: AddToFileSystem(path, data, created); break; } }
public byte[] Get(string path, DateTime remoteLastModified) { if (_cacheType == BlobCacheType.None || _excludedPaths.Any(p => path.StartsWith(p, StringComparison.OrdinalIgnoreCase))) { return(GetFromRemote(path)); } byte[] data = null; switch (CacheType) { case BlobCacheType.Memory: data = CacheHelper.Cache(cs => GetFromRemote(cs, path), new CacheSettings(AccountInfo.Instance.BlobCacheMinutes, BlobCacheHelper.GetCacheKey(path))); break; case BlobCacheType.FileSystem: data = TryGetFromFileSystemCache(path, remoteLastModified); if (data == null) { data = GetFromRemote(path); AddToCache(path, data, DateTime.UtcNow); } break; } return(data); }