andrew4582

MemoryRuntimeCache

Dec 16th, 2011
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.29 KB | None | 0 0
  1. using System;
  2. using System.Runtime.Caching;
  3.  
  4. namespace Core.Caching {
  5.  
  6.     public class MemoryRuntimeCache:ICache {
  7.  
  8.         static readonly ObjectCache _memory = System.Runtime.Caching.MemoryCache.Default;
  9.  
  10.         public int Count {
  11.             get {
  12.                 return (int)_memory.GetCount();
  13.             }
  14.         }
  15.  
  16.         public object this[string key] {
  17.             get {
  18.                 var item = _memory.GetCacheItem(key);
  19.                 if(item == null)
  20.                     return null;
  21.                 return item.Value;
  22.             }
  23.             set {
  24.                 _memory[key] = value;
  25.             }
  26.         }
  27.  
  28.         public object Add(string key,object value,System.Web.Caching.CacheDependency dependencies,DateTime absoluteExpiration,TimeSpan slidingExpiration,System.Web.Caching.CacheItemPriority priority,System.Web.Caching.CacheItemRemovedCallback onRemoveCallback) {
  29.             _memory[key] = value;
  30.             return value;
  31.         }
  32.  
  33.         public object Get(string key) {
  34.             var item = _memory.GetCacheItem(key);
  35.             if(item == null)
  36.                 return null;
  37.             return item.Value;
  38.         }
  39.  
  40.         public void Insert(string key,object value) {
  41.             _memory[key] = value;
  42.         }
  43.  
  44.         public void Insert(string key,object value,System.Web.Caching.CacheDependency dependencies) {
  45.             _memory[key] = value;
  46.         }
  47.  
  48.         public void Insert(string key,object value,System.Web.Caching.CacheDependency dependencies,DateTime absoluteExpiration,TimeSpan slidingExpiration) {
  49.             _memory[key] = value;
  50.         }
  51.  
  52.         public void Insert(string key,object value,System.Web.Caching.CacheDependency dependencies,DateTime absoluteExpiration,TimeSpan slidingExpiration,System.Web.Caching.CacheItemUpdateCallback onUpdateCallback) {
  53.             _memory[key] = value;
  54.         }
  55.  
  56.         public void Insert(string key,object value,System.Web.Caching.CacheDependency dependencies,DateTime absoluteExpiration,TimeSpan slidingExpiration,System.Web.Caching.CacheItemPriority priority,System.Web.Caching.CacheItemRemovedCallback onRemoveCallback) {
  57.             _memory[key] = value;
  58.         }
  59.  
  60.         public object Remove(string key) {
  61.             return  _memory.Remove(key);
  62.         }
  63.     }
  64.  
  65. }
Advertisement
Add Comment
Please, Sign In to add comment