| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 编程开发 > .NET教程 > ASP.NET教程 > 文章正文 用户登录
著名IT博客TechCr
龙太极/100m/asp/
无限网络提供50M 
苏能科技100M/FTP
悠博科技50M/FTP/
华云网络30M/FTP/
RealTracker提供免
ASP+FLASH+ACCESS
FlashMX2004的事件
《Flash ActionSc

Cache浏览器           

Cache浏览器

作者:佚名 来源:不详 更新:2006-8-25 21:05:35 错误报告 我要投稿
对Cache进行浏览并管理。
  
  <%@ Page Language="<a href="http://dev.21tx.com/dotnet/csharp/" target="_blank">C#</a>" 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://<a href="http://dev.21tx.com/web/asp/" target="_blank">ASP</a>alliance.com/aldotnet/examples/cacheviewer.aspx
  //http://scottwater.com
  private void Page_Load(object sender, System.EventArgs e)
  {
   if(!IsPostBack)
   {
   hlRefresh.NavigateUrl = Request.RawUrl;
   BindGrid();
   }
  }
  
  //绑定到<a href="http://dev.21tx.com/dotnet/aspnet/datagrid/" target="_blank">DataGrid</a>
  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)
  {
   Hy<a href="http://dev.21tx.com/web/perl/" target="_blank">Perl</a>ink 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>
  
  说明:DataGrid中用到了HyperLink Web控件,是为了方便本站的管理,其它则不必这样用。
文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。