Lire en anglais

Partager via


CacheItemRemovedCallback Délégué

Définition

Définit une méthode de rappel pour avertir les applications lorsqu'un élément mis en cache est supprimé du Cache.

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

Paramètres

key
String

Clé supprimée du cache.

value
Object

Élément Object associé à la clé supprimée du cache.

reason
CacheItemRemovedReason

Raison pour laquelle l'élément a été supprimé du cache, spécifiée par l'énumération CacheItemRemovedReason.

Exemples

L’exemple de code suivant illustre une page qui montre aux utilisateurs la valeur affectée à un élément dans le cache, puis les avertit quand l’élément est supprimé du cache. Il crée une RemovedCallback méthode, qui utilise la signature du CacheItemRemovedCallback délégué, pour avertir les utilisateurs lorsque l’élément de cache est supprimé et utilise l’énumération CacheItemRemovedReason pour leur dire pourquoi elle a été supprimée. En outre, elle utilise la Cache.Item[] propriété pour ajouter des objets au cache et récupérer la valeur de ces objets. Dans la AddItemToCache méthode, elle utilise la Cache.Add méthode pour ajouter un élément au cache. Pour utiliser le CacheItemRemovedCallback délégué, vous devez ajouter un élément au cache avec cette méthode ou la Cache.Insert méthode afin que ASP.NET puisse effectuer automatiquement les appels de méthode appropriés lorsque l’élément est supprimé. La méthode personnalisée RemoveItemFromCache utilise la Cache.Remove méthode pour supprimer explicitement l’élément du cache, ce qui entraîne l’appel de la RemovedCallback méthode.

ASP.NET (C#)
<html>
 <Script runat=server language="C#">
// <snippet2>
    static bool itemRemoved = false;
    static CacheItemRemovedReason reason;
    CacheItemRemovedCallback onRemove = null;

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

// <snippet3>
    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);
    }
// </snippet3>

// <snippet4>
    public void RemoveItemFromCache(Object sender, EventArgs e) {
        if(Cache["Key1"] != null)
          Cache.Remove("Key1");
    }
// </snippet4>
 </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 {
// <snippet5>
        Response.Write("Value of cache key: <B>" + Server.HtmlEncode(Cache["Key1"] as string) + "</B>");
// </snippet5>
     }
  %>
 </body>
</html>

Méthodes d’extension

GetMethodInfo(Delegate)

Obtient un objet qui représente la méthode représentée par le délégué spécifié.

S’applique à

Produit Versions
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8

Voir aussi