コード例 #1
0
ファイル: CacheService.cs プロジェクト: rjakech/SCMS
 public void Put(String key, CacheTimeSpan timeSpan, object @object)
 {
     Remove(key);
     if (@object.IsNotNull())
     {
         CacheStore.Add(
             new CacheItem(key, @object),
             new CacheItemPolicy {
             AbsoluteExpiration = DateTime.Now + GetTimeSpan(timeSpan)
         });
     }
 }
コード例 #2
0
ファイル: CacheService.cs プロジェクト: rjakech/SCMS
        public T Get <T>(string key, CacheTimeSpan timeSpan, Func <T> getItem)
        {
            var cacheItem = CacheStore.Get(key);

            if (cacheItem.IsNull() && getItem.IsNotNull())
            {
                cacheItem = getItem();
                if (cacheItem != null)
                {
                    Put(key, timeSpan, cacheItem);
                }
            }

            return((T)cacheItem);
        }
コード例 #3
0
ファイル: CacheService.cs プロジェクト: rjakech/SCMS
        private TimeSpan GetTimeSpan(CacheTimeSpan cacheTimeSpan)
        {
            int minutes = 10;

            switch (cacheTimeSpan)
            {
            case CacheTimeSpan.Infinite:
                minutes = 2 * 24 * 60;
                break;

            case CacheTimeSpan.FiveMinutes:
                minutes = 5;
                break;

            case CacheTimeSpan.ThirtySeconds:
                return(TimeSpan.FromSeconds(30));

            case CacheTimeSpan.OneMinute:
                minutes = 1;
                break;

            case CacheTimeSpan.TwoMinutes:
                minutes = 2;
                break;

            case CacheTimeSpan.Hour:
                minutes = 60;
                break;

            case CacheTimeSpan.TenMinutes:
                minutes = 10;
                break;

            case CacheTimeSpan.FifteenMinutes:
                minutes = 15;
                break;

            case CacheTimeSpan.ThirtyMinutes:
                minutes = 30;
                break;
            }
            return(TimeSpan.FromMinutes(minutes));
        }