创建数据源控件键值依赖
操作步骤
1、设置数据源控件的CacheKeyDependency属性(key);
2、在Global.asax创建初始化的(key)缓存项目。代码如下:
复制代码 代码如下:
Void Application_Start(Object Sender,EventArgs e)
{
HttpContext context=HttpContext.Current;
context.Cache.Insert(
"key",DateTime.Now,null,DateTime.MaxValue,Cache.NoSlidingExpiration,CacheItemPriority.NotRemovable,null
);
}
3、在用于更改数据的页面上移除缓存项目(key);
如在DetailsView控件的ItemInserted事件中重新插入缓存项目,此时每个依赖于这个键值(key)的DataSource会自动重新载入数据,代码如下:
复制代码 代码如下:
protected void DetailsView_ItemInserted(object sender,DetailsViewInsertedEventArgs e)
{
Cache.Insert("key",Datetime.Now);
}
注:以上key值采用当前时间并非必须。
4.Cache对象
几乎可以给缓存添加任何对象,例如,可以添加自定义控件,DataSet,DataTable,ArrayList和List到缓存。注意:使用从缓存中返回的任何项目,应该总是要检查项目是否为空,如果一个项目已经被删除了,则当将来试图从缓存中读取时,就会返回null。
详细信息查看msdnCache 成员
添加数据缓存到Cache对象示例代码:
复制代码 代码如下:
void Page_Load()
{
DataTable dt=(DataTable)Cache["dtkey"];
if(dt==null)
{
dt=getdtFromDB(); //此处调用方法从数据库中返回数据项DataTable
Cache.Insert("dtKey",dt,null,DateTime.Now.AddHours(1),Cache.NoSlidingExpiration); //此处使用绝对过期策略添加项目
}
GridView1.DataSource=dt;
GridView1.DataBind();
}
private DataTable getdtFromDB()
{
//略......
}
使用依赖添加项目
Asp.net Framework包括三种缓存依赖
1、CacheDependency——用于创建一个文件依赖或缓存键值依赖。
2、SqlCacheDependency——用于创建一个对于Microsoft SQL Server数据库表或SQL Server 2005数据库查询的依赖。
3、AggregateCacheDependency——用于使用多个CacheDependency对象创建依赖,例如,可以用该对象组合文件和Sql依赖。
CacheDependency类是基类,其他两个类都是从该类继承。
指定缓存项目优先级
可以指定CacheItemPriority枚举类型任意值。
配置缓存
详细信息查看Msdn Caching元素
5.使用SQL缓存依赖