您的位置:首页 > 其它

System.Web.Caching命名空间类介绍

2009-11-05 12:09 197 查看
在System.Web.Caching下的类,主要是处理web客户端的Cache
它有如下主要类:
Cache
CacheDependency
SqlCacheDependency

类比较简单直观,只是要特别说明一下Cache类的方法
Add
Insert
Remove
Get
GetType
GetEnumerator
大家是不是没有看到没有修改cache中数据的方法?也就是memcache中的set方法,用insert替代就可以了

CacheDependency类也有必要介绍
它是架设在数据和cache之间的一座桥梁,称为缓存依赖类,其意义表现在当缓存对象的实际数据发生改变时,他能及时通知缓存对象
具体用法如下
private static CacheDependency mydepen;
…………
if(Cache[XXX]==null)
{
DataSet myds=new Dataset();
myds.ReadXml(this.MapPath(Request.ApplicationPath+@"/data.xml");
mydepen=new CacheDependency(this.MapPath(Request.ApplicationPath+@"/data.xml");
Cache.Add("XXX",myds,mydepen,DataTime.Now.AddSeconds(10),TimeSpan.Zero,CacheItemPriority.Normal,null);
}
如果文件改动,dependency就会生效,然后同时把cache和dependency消除

-----------------------------------------------------------------------

Cache所在的命名空间是啥?

我的VS2008没法用Cache["key"]
是不是要包含什么命名空间么?

System.Web.Caching

using System.Web.Caching;

public sealed class Caches
{
// Methods
public Caches();
public static object Read(CacheKey Key)
{
return HttpRuntime.Cache[Key.ToString()];
}

public static void Write(CacheKey Key, object CacheValue)
{
if (HttpRuntime.Cache[Key.ToString()] == null)
{
HttpRuntime.Cache.Add(Key.ToString(), CacheValue, null, DateTime.Now.AddHours(10.0), TimeSpan.Zero, CacheItemPriority.NotRemovable, null);
}
else
{
HttpRuntime.Cache.Insert(Key.ToString(), CacheValue, null, DateTime.Now.AddHours(10.0), TimeSpan.Zero);
}
}

public static void Write(CacheKey Key, object CacheValue, CacheDependency cd)
{
if (HttpRuntime.Cache[Key.ToString()] == null)
{
HttpRuntime.Cache.Add(Key.ToString(), CacheValue, cd, DateTime.Now.AddHours(10.0), TimeSpan.Zero, CacheItemPriority.NotRemovable, null);
}
else
{
HttpRuntime.Cache.Insert(Key.ToString(), CacheValue, cd, DateTime.Now.AddHours(10.0), TimeSpan.Zero);
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: