对Cache进行浏览并管理。例子
<%@ Page Language="C#" EnableViewState = "true"%>
<%@ import Namespace="System" %>
<%@ import Namespace="System.Configuration" %>
<%@ import Namespace="System.Collections" %>
<%@ import Namespace="System.Collections.Specialized" %>
<%@ import Namespace="System.Data" %>
<script runat="server">
//http://aspalliance.com/aldotnet/examples/cacheviewer.aspx
//http://scottwater.com
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
hlRefresh.NavigateUrl = Request.RawUrl;
BindGrid();
}
}
//绑定到DataGrid
private void BindGrid()
{
//创建arraylist来保存cacheditem信息
ArrayList al = new ArrayList();
IDictionaryEnumerator CacheEnum = Cache.GetEnumerator();
while (CacheEnum.MoveNext())
{
al.Add(new CachedItem(CacheEnum.Key.ToString(),CacheEnum.Value.GetType().ToString()));
}
litCount.Text = al.Count.ToString();
dgCachedItems.DataSource = al;
dgCachedItems.DataBind();
}
//删除Cache项
protected void Grid_ItemCommand(object sender, DataGridCommandEventArgs e)
{
HyperLink l = (HyperLink)e.Item.FindControl("CacheItemName");
//确保我们找到了该项
if(l != null)
{
Cache.Remove(l.Text);
}
this.BindGrid();
}
protected void Grid_Created(object sender, DataGridItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
((Literal)e.Item.FindControl("Counter")).Text = (e.Item.ItemIndex + 1).ToString();
}
}
private class CachedItem
{
public CachedItem(){}
public CachedItem(string key, string type)
{
this.CacheKey = key;
this.CacheType = type;
}
private string _cacheKey;
public string CacheKey
{
get {return this._cacheKey;}
set {this._cacheKey = value;}
}
private string _cacheType;
public string CacheType
{
get {return this._cacheType;}
set {this._cacheType = value;}
}
}
//Remove All
void lbRemoveAll_Click(object sender, EventArgs e)
{
IDictionaryEnumerator CacheEnum = Cache.GetEnumerator();
while (CacheEnum.MoveNext())
{
Cache.Remove(CacheEnum.Key.ToString());
}
BindGrid();
}
</script>
<html>
<head>
<title>Cache管理器</title>
<style>
TD,A,P,SPAN {font-size:9pt;}
.Header {background-color:#EDEDED;text-align:center;font-weight:bold;}
</style>
</head>
<body >
<form runat="server">
浏览、删除缓存
<br/>
数量:
<asp:Literal id="litCount" runat="server"></asp:Literal>
<br/>
<asp:LinkButton id="lbRemoveAll" onclick="lbRemoveAll_Click" runat="server">清除全部缓存项</asp:LinkButton>
<br/>
<asp:HyperLink id="hlRefresh" Text="刷新" Runat="server"></asp:HyperLink>
<br/><br/>
<asp:DataGrid id="dgCachedItems" runat="server" OnItemCommand="Grid_ItemCommand"
AutoGenerateColumns="False" OnItemCreated="Grid_Created">
<HeaderStyle CssClass="Header"></HeaderStyle>
<Columns>
<asp:TemplateColumn HeaderText="数量">
<ItemTemplate>
<asp:Literal id="Counter" runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="键">
<ItemTemplate>
<asp:HyperLink id="CacheItemName" runat="server" Target="_blank"
Text='<%# ((CachedItem)(Container.DataItem)).CacheKey %>'
NavigateUrl = '<%# ((CachedItem)(Container.DataItem)).CacheKey %>'/>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="类型">
<ItemTemplate>
<asp:Literal id="CacheItemDataType" runat="server"
text='<%# ((CachedItem)(Container.DataItem)).CacheType %>' />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="删除">
<ItemTemplate>
<asp:LinkButton ID="RemoveButton" Text="删除" CommandName="RemoveFromCache"
runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</form>
</body>
</html>
分享到:
相关推荐
Cache Killer 是一个针对Chrome的缓存清理插件,它的特点是不用您专门清理,只要按下刷新按钮即可自动清理chrome缓存,非常的方便
这个软件可以将你在用浏览器观看视频时所缓存的视频文件在缓存文件夹里面提取出来,对于一些不会下载视频或者说不想安装各种客户端、不想注册各种网站的人来说,此程序绝对是一把利器! ps:压缩包里的主程序可以...
赠送jar包:cache-api-1.1.1.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
Cache Killer(chrome刷新自动清除缓存插件)是一款每当页面刷新就会自动清除缓存数据的chrome插件,Cache Killer适用于以chrome为内核的所有浏览器,该插件能在你加载页面之前自动清除浏览器缓存,而不需要在浏览器...
简介: 开发过程中遇到一个问题,不同的浏览器对HTML的缓存的内容不一样,导致客户端按...Google,Baidu以后,找到这份最完整的关于Cache的介绍文档,对开发和解决问题有很大帮助.文档的内容是英文的.
Cache Killer(chrome刷新自动清除缓存插件)是一款每当页面刷新就会自动清除缓存数据的chrome插件,Cache Killer适用于以chrome为内核的所有浏览器,该插件能在你加载页面之前自动清除浏览器缓存,而不需要在浏览器...
使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。
为了提高网页的访问效率,浏览器可以在本地缓存以前访问过的页面,当浏览器再次访问那些已经缓存了的页面时,浏览器就不用再去访问远程的Web服务器了,而是直接从本地取出缓存的内容。缓存提高了浏览器的访问效率,...
Chrome浏览器缓存文件中的电子取证Internet Forensics has become an indispensable part of Cyber Forensics. This is due to the rapid growth in the number of cybercrimes which are related to Internet ...
使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。
赠送jar包:shiro-cache-1.4.0.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
前端开发技术分享 浏览器怎么实现 AppCache - Offline Application Cache 共17页.pdf
Cache Relocator(浏览器缓存重定向器)是一款可以对目前市面上主流浏览器进行缓存重新定义来往方向的小工具,支持常见的Chrome浏览器、火狐浏览器等,欢迎有需要的朋友前来下载使用。 基本简介 Cache Relocator ...
浏览器之HTTP缓存的那些事 什么是浏览器缓存 浏览器HTTP执行机制 缓存模式 缓存相关的Http Header Cache-Control Expires Last-Modified ETag
ChromeCacheView是一款读取Chrome浏览器缓存目录的小工具,无须安装,解压即可使用。它可以显示缓存文件的网址、类型、大小及其他信息
选择file——select cache folder(f9)设置位置 Chrome浏览器在不同操作系统下缓存目录有固定的位置,即可以查看和复制Chrome浏览器保存的缓存文件
自用浏览器基于Gecko52内核写的,基于Winform开发,仿Chrome式多选项卡,一个选项卡独立工具栏和显示网页模块,不是传统一个工具栏下面多个选项卡,可以弹出下载保存框,文件下载完有文件路径,是否打开文件提示,...
clear Cache 一键清缓存插件 for google 浏览器。内置安装教程,程序员必备。1积分
强缓存的实现主要依赖于Expires和Cache-Control这两个HTTP头信息。 Expires是一个较老的强缓存管理header,它包含一个GMT格式的绝对时间字符串,告诉浏览器在这个时间之前可以直接从浏览器缓存中加载资源,而无需去...
表现层/数据服务层(传统web的表现层)也可以设置缓存(jsp cache 就是这一层,实现在app server上的缓存机制) 另外Browser也有缓存(如IE)这个大家也都知道(实现在 web server 上的缓存机制)。越上层的缓存...