欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

清除aspx页面缓存的程序实现方法

程序员文章站 2023-12-17 22:11:16
本文实例介绍了清除aspx页面缓存的程序实现方法,具体步骤如下: 所有用到页面缓存的aspx页面修改以下cs,让它继承一个自定义基类(例如:pagecachebase);...

本文实例介绍了清除aspx页面缓存的程序实现方法,具体步骤如下:

所有用到页面缓存的aspx页面修改以下cs,让它继承一个自定义基类(例如:pagecachebase);
pagecachebase 的 page_load

加入以下代码:

string cachekey = request.url.tostring(); 
cache[cachekey] = new object(); 
response.addcacheitemdependency(cachekey);

这样就能在应用程序(整个网站)cache里遍历缓存项(包括这些aspx页面的缓存依赖项)了,我把他们绑定到datagrid:

private void bindcache() 
{ 
datatable dt = new datatable(); 
dt.columns.add("cachename",typeof(string)); 
dt.columns.add("cachetype",typeof(string)); 
idictionaryenumerator cacheenum = 
httpruntime.cache.getenumerator(); 
while (cacheenum.movenext()) 
{ 
datarow dr = dt.newrow(); 
dr["cachename"] = cacheenum.key; 
dr["cachetype"] = cacheenum.value.gettype(); 
dt.rows.add(dr); 
} 

dataview dv = dt.defaultview; 
dv.sort = "cachename"; 
this.datagrid1.datasource =dt; 
this.datagrid1.databind(); 
} 

删除就简单了,实现代码如下:

string cachekey = e.item.cells[0].text; 
if(cache[cachekey]!=null) 
{ 
cache.remove(cachekey); 
bindcache(); 
}

上一篇:

下一篇: