EnVisageOnline/Main-RMO/Source/EnVisage/Code/Cache/CacheManager.cs

54 lines
1.3 KiB
C#

using System;
using System.Web;
using System.Web.Caching;
namespace EnVisage.Code.Cache
{
public class CacheManager
{
private static CacheManager instance;
public static CacheManager Instance
{
get
{
if (instance == null)
instance = new CacheManager();
return instance;
}
}
private System.Web.Caching.Cache cache = HttpContext.Current.Cache;
public void AddToCache(string key, object value)
{
if (!IsInCache(key))
cache.Add(key, value, null,
System.Web.Caching.Cache.NoAbsoluteExpiration, TimeSpan.FromMinutes(60), CacheItemPriority.Default, null);
else
cache.Insert(key, value);
}
public void RemoveFromCache(string key)
{
if (cache[key] != null)
cache.Remove(key);
}
public bool IsInCache(string key)
{
if (cache.Count == 0)
return false;
else
return cache[key] != null;
}
public object GetCacheData(string key)
{
if (IsInCache(key))
return cache[key];
else
return null;
}
}
}