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

时间:2021-05-19

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章