Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

CacheItemRemovedCallback-Delegat

 

Veröffentlicht: Oktober 2016

Definiert eine Rückrufmethode zur Benachrichtigung einer Anwendung beim Entfernen eines zwischengespeicherten Elements aus der Cache.

Namespace:   System.Web.Caching
Assembly:  System.Web (in System.Web.dll)

public delegate void CacheItemRemovedCallback(
	string key,
	object value,
	CacheItemRemovedReason reason
)

Parameter

key
Type: System.String

Der Schlüssel, der aus dem Cache entfernt wird.

value
Type: System.Object

Die Object der Schlüssel zugeordnete Element aus dem Cache entfernt.

reason
Type: System.Web.Caching.CacheItemRemovedReason

Der Grund, der das Element, aus dem Cache, gemäß entfernt wurde der CacheItemRemovedReason Enumeration.

Im folgenden Codebeispiel wird veranschaulicht, eine Seite, die Benutzern den einem Element im Cache zugeordneten Wert angezeigt wird, und benachrichtigt sie dann, wenn das Element aus dem Cache entfernt wird. Erstellt eine RemovedCallback Methode, die die Signatur verwendet die CacheItemRemovedCallback -Delegaten verwendet, um Benutzer zu benachrichtigen, wenn das Element im Cache entfernt, und verwendet die CacheItemRemovedReason -Enumeration, die darauf hinweisen, weshalb es entfernt wurde. Darüber hinaus wird mithilfe der Cache.Item Eigenschaft, um dem Cache Objekte hinzuzufügen und den Wert dieser Objekte abzurufen. In der AddItemToCache -Methode verwendet die Cache.Add Methode, um dem Cache ein Element hinzuzufügen. Verwenden der CacheItemRemovedCallback zu delegieren, müssen Sie dem Cache ein Element hinzuzufügen, mit dieser Methode oder die Cache.Insert Methode so, dass ASP.NET automatisch die richtige Methode durchführen kann aufruft, wenn das Element entfernt wird. Die benutzerdefinierte RemoveItemFromCache -Methode verwendet die Cache.Remove -Methode zum expliziten Löschen des Elements aus dem Cache, verursacht die RemovedCallback Methode aufgerufen wird.

<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>

.NET Framework
Verfügbar seit 1.1
Zurück zum Anfang
Anzeigen: