龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > asp.net编程 >

ASP.NET缓存应用:CacheItemRemovedCallback 委托

时间:2009-12-21 11:47来源:未知 作者:admin 点击:
分享到:
CacheItemRemovedCallback 定义在从 Cache 移除缓存项时通知应用程序的回调方法。 命名空间: System.Web.Caching 程序集: System.Web(在 System.Web.dll 中) 参数 key 类型:System..::.String 从缓存中移除

CacheItemRemovedCallback 定义在从 Cache 移除缓存项时通知应用程序的回调方法。

命名空间:  System.Web.Caching
程序集:  System.Web(在 System.Web.dll 中)

参数
key
类型:System..::.String

从缓存中移除的键。

value
类型:System..::.Object

与从缓存中移除的键关联的 Object 项。

reason
类型:System.Web.Caching..::.CacheItemRemovedReason

CacheItemRemovedReason 枚举指定的、从缓存移除项的原因。

示例:

<html>
<Script runat=server language="C#">
    static bool itemRemoved = false;
    static CacheItemRemovedReason reason;
    CacheItemRemovedCallback onRemove = null;

    public void RemovedCallback(String k, Object v, CacheItemRemovedReason r){
      itemRemoved = true;
      reason = r;
    }

    public void AddItemToCache(Object sender, EventArgs e) {
        itemRemoved = false;

        onRemove = new CacheItemRemovedCallback(this.RemovedCallback);

        if (Cache["Key1"] == null)
          Cache.Add("Key1", "Value 1", null, DateTime.Now.AddSeconds(60), Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove);
    }

    public void RemoveItemFromCache(Object sender, EventArgs e) {
        if(Cache["Key1"] != null)
          Cache.Remove("Key1");
    }
</Script>
<body>
  <Form runat="server">
   <input type=submit OnServerClick="AddItemToCache" value="Add Item To Cache" runat="server"/>
   <input type=submit OnServerClick="RemoveItemFromCache" value="Remove Item From Cache" runat="server"/>
  </Form>
  <% if (itemRemoved) {
        Response.Write("RemovedCallback event raised.");
        Response.Write("<BR>");
        Response.Write("Reason: <B>" + reason.ToString() + "</B>");
     }
     else {
        Response.Write("Value of cache key: <B>" + Server.HtmlEncode(Cache["Key1"] as string) + "</B>");
     }
  %>
</body>
</html>

 

精彩图集

赞助商链接