VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > c#编程 >
  • C#教程之清除aspx页面缓存的程序实现方法

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

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

加入以下代码:

?
1
2
3
string cacheKey = Request.Url.ToString();
Cache[cacheKey] = new object();
Response.AddCacheItemDependency(cacheKey);

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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();
}

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

?
1
2
3
4
5
6
string cacheKey = e.Item.Cells[0].Text;
if(Cache[cacheKey]!=null)
{
Cache.Remove(cacheKey);
bindCache();
}


相关教程