文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>缓存通用管理类 + 缓存 HttpContext.Current.Cache 和 HttpRuntime.Cache 的区别

缓存通用管理类 + 缓存 HttpContext.Current.Cache 和 HttpRuntime.Cache 的区别

时间:2010-12-01  来源:Stone_W

  我们先看MSDN上的解释:

        HttpContext.Current.Cache:为当前 HTTP 请求获取Cache对象。
        HttpRuntime.Cache:获取当前应用程序的Cache。

附带的写了一个操作缓存的通用类,在应用程序中使用,如果要在asp.net中有,只需把HttpRuntime.Cache改为HttpContext.Current.Cache即可,代码如下:

 

代码
using System;

/// <summary>
/// author:Stone_W
/// date:2010.12.1
/// desc:缓存的管理类
/// 注意:要添加对引用 System.Web
/// </summary>
public class MyCacheTools : System.Web.SessionState.IRequiresSessionState
{
#region 存入Cache
/// <summary>
/// 存入Cache
/// </summary>
/// <param name="key">缓存key</param>
/// <param name="value">缓存的值</param>
/// <param name="time_HH">存xx小时</param>
/// <returns>是否执行成功[bool]</returns>
public static bool SetCache(string key, object value, int time_HH)
{
bool result = false;
try
{
DateTime dt
= DateTime.Now.AddHours(time_HH);
System.Web.HttpRuntime.Cache.Insert(key, value,
null,
dt, System.Web.Caching.Cache.NoSlidingExpiration);
result
= true;
}
catch (Exception ex) { }
return result;
}
#endregion

#region 取得Cache
/// <summary>
/// 取得Cache
/// </summary>
/// <param name="key">key</param>
/// <returns>object类型</returns>
public static object GetCache(string key)
{
return System.Web.HttpRuntime.Cache.Get(key);
}
#endregion

#region 查询Cache是否存在
/// <summary>
/// 查询Cache是否存在
/// </summary>
/// <param name="key">key 值</param>
/// <returns>bool</returns>
public static bool IsCacheExist(string key)
{
bool result = false;

object temp = System.Web.HttpRuntime.Cache.Get(key);
if (null != temp)
{
result
= true;
}
return result;
}
#endregion

}

 

 

ps:HttpContext.Current.Cache 为null 这个问题搞的我很痛苦,最后还是解决了,希望此篇文章对大家有用!

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载