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);
        }
    }
}

 

posted on 2017-02-04 15:49  cxd1008  阅读(127)  评论(0编辑  收藏  举报