可以实现获取和设置对象,并且可以设置缓存依赖和过期时间,需要考虑并发(线程安全的)

解决方案 »

  1.   


    /// <summary>
        /// 辅助类 - 用于缓存操作
        /// </summary>
        public sealed class CacheAccess
        {
            /// <summary>
            /// 将对象加入到缓存中
            /// </summary>
            /// <param name="cacheKey">缓存键</param>
            /// <param name="cacheObject">缓存对象</param>
            /// <param name="dependency">缓存依赖项</param>
            public static void SaveToCache(string cacheKey, object cacheObject, CacheDependency dependency)
            {
                Cache cache = HttpRuntime.Cache;
                cache.Insert(cacheKey, cacheObject, dependency, Cache.NoAbsoluteExpiration, TimeSpan.FromHours(1));
            }        /// <summary>
            /// 从缓存中取得对象,不存在则返回null
            /// </summary>
            /// <param name="cacheKey">缓存键</param>
            /// <returns>获取的缓存对象</returns>
            public static object GetFromCache(string cacheKey)
            {
                Cache cache = HttpRuntime.Cache;            return cache[cacheKey];
            }
        }
      

  2.   

    这是动软代码生成器—李天平老师提供的源码
    using System;
    using System.Web;namespace LTP.Common
    {
    /// <summary>
    /// 缓存相关的操作类
        /// 李天平
        /// 2006.4.1
    /// </summary>
    public class DataCache
    {
    /// <summary>
    /// 获取当前应用程序指定CacheKey的Cache值
    /// </summary>
    /// <param name="CacheKey"></param>
    /// <returns></returns>
    public static object GetCache(string CacheKey)
    {
    System.Web.Caching.Cache objCache = HttpRuntime.Cache;
    return objCache[CacheKey]; } /// <summary>
    /// 设置当前应用程序指定CacheKey的Cache值
    /// </summary>
    /// <param name="CacheKey"></param>
    /// <param name="objObject"></param>
    public static void SetCache(string CacheKey, object objObject)
    {
    System.Web.Caching.Cache objCache = HttpRuntime.Cache;
    objCache.Insert(CacheKey, objObject);
    } /// <summary>
    /// 设置当前应用程序指定CacheKey的Cache值
    /// </summary>
    /// <param name="CacheKey"></param>
    /// <param name="objObject"></param>
    public static void SetCache(string CacheKey, object objObject, DateTime absoluteExpiration,TimeSpan slidingExpiration )
    {
    System.Web.Caching.Cache objCache = HttpRuntime.Cache;
    objCache.Insert(CacheKey, objObject,null,absoluteExpiration,slidingExpiration);
    }
    }
    }
      

  3.   

    参考
    http://www.cnblogs.com/ChengKing/articles/277269.html
    http://blog.csdn.net/wzhibin/archive/2007/07/16/1693920.aspx
      

  4.   

    你樓下的帖子就有你沒看到嗎
    http://topic.csdn.net/u/20081124/19/d3461f16-4e25-41dd-9372-0d80ef599156.html