using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace Common { public class CacheHelper { /// <summary> /// 设置缓存永久 /// </summary> /// <param name="sKey"></param> /// <param name="sContent"></param> public static void CacheInsert(string sKey, object oContent) { HttpContext.Current.Cache.Insert(sKey, oContent); } /// <summary> /// 设置缓存到指定时间 /// </summary> /// <param name="sKey"></param> /// <param name="oContent"></param> /// <param name="dt">过期时间</param> public static void CacheInsert(string sKey, object oContent,DateTime dt) { HttpContext.Current.Cache.Insert(sKey, oContent, null, dt, TimeSpan.Zero); } /// <summary> /// 获取缓存的值 /// </summary> /// <param name="sKey"></param> /// <returns>请注意如果没有找到则为Null</returns> public static object CacheGet(string sKey) { return HttpContext.Current.Cache.Get(sKey); } /// <summary> /// 清除缓存 /// </summary> /// <param name="sKey"></param> /// <returns></returns> public static object CacheRemove(string sKey) { return HttpContext.Current.Cache.Remove(sKey); } } }
以上这么写会有一点问题,HttpContext在winfrom和控制台程序会有问题。做了如下修改:
using System; using System.Web; namespace Common { public class CacheHelper { /// <summary> /// 设置缓存永久 /// </summary> /// <param name="sKey"></param> /// <param name="sContent"></param> public static void CacheInsert(string sKey, object oContent) { HttpRuntime.Cache.Insert(sKey, oContent); } /// <summary> /// 设置缓存到指定时间 /// </summary> /// <param name="sKey"></param> /// <param name="oContent"></param> /// <param name="dt">过期时间</param> public static void CacheInsert(string sKey, object oContent,DateTime dt) { HttpRuntime.Cache.Insert(sKey, oContent, null, dt, TimeSpan.Zero); } /// <summary> /// 获取缓存的值 /// </summary> /// <param name="sKey"></param> /// <returns>请注意如果没有找到则为Null</returns> public static object CacheGet(string sKey) { return HttpRuntime.Cache.Get(sKey); } /// <summary> /// 清除缓存 /// </summary> /// <param name="sKey"></param> /// <returns></returns> public static object CacheRemove(string sKey) { return HttpRuntime.Cache.Remove(sKey); } } }