当前位置: 移动技术网 > IT编程>开发语言>c# > 清除aspx页面缓存的程序实现方法

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

2019年07月18日  | 移动技术网IT编程  | 我要评论

本文实例介绍了清除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(); 
}

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网