| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- using System;
- using Abp.Runtime.Caching;
- namespace IwbZero.Storage
- {
- public class TempFileCacheManager : ITempFileCacheManager
- {
- public const string TempFileCacheName = "TempFileCacheName";
- private readonly ICacheManager _cacheManager;
- public TempFileCacheManager(ICacheManager cacheManager)
- {
- _cacheManager = cacheManager;
- }
- public void SetFile(string token, byte[] content)
- {
- _cacheManager.GetCache(TempFileCacheName).Set(token, content, new TimeSpan(0, 0, 1, 0)); // expire time is 1 min by default
- }
- public void SetFile(string token, byte[] content, int min)
- {
- int d = 0, h = 0, m = min;
- if (min >= 60)
- {
- m = min % 60;
- h = min / 60;
- if (h >= 24)
- {
- h = h % 24;
- d = h / 24;
- }
- }
- _cacheManager.GetCache(TempFileCacheName).Set(token, content, new TimeSpan(d, h, m, 0));
- }
- public byte[] GetFile(string token)
- {
- return _cacheManager.GetCache(TempFileCacheName).Get(token, ep => ep) as byte[];
- }
- }
- }
|