Exporter (0) Imprimer
Développer tout

CacheItemRemovedCallback, délégué

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

Espace de noms : System.Web.Caching
Assembly : System.Web (dans system.web.dll)

public delegate void CacheItemRemovedCallback (
	string key,
	Object value,
	CacheItemRemovedReason reason
)
/** @delegate */
public delegate void CacheItemRemovedCallback (
	String key, 
	Object value, 
	CacheItemRemovedReason reason
)
JScript prend en charge l'utilisation de délégués mais pas la déclaration de nouveaux délégués.

Paramètres

key

Clé supprimée du cache.

value

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

reason

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

L'exemple de code suivant montre une page qui indique aux utilisateurs la valeur affectée à un élément du cache, puis les notifie lorsque l'élément est supprimé du cache. Il crée une méthode RemovedCallback qui utilise la signature du délégué CacheItemRemovedCallback pour avertir les utilisateurs lorsque l'élément de cache est supprimé et qui utilise l'énumération CacheItemRemovedReason pour leur expliquer les raisons de la suppression. De plus, il utilise la propriété Cache.Item pour ajouter des objets au cache et récupérer la valeur de ces objets. Dans la méthode AddItemToCache, il utilise la méthode Cache.Add pour ajouter un élément au cache. Pour utiliser le délégué CacheItemRemovedCallback, vous devez ajouter un élément au cache en suivant cette méthode ou la méthode Cache.Insert afin que cet ASP.NET puisse faire automatiquement les appels de méthode corrects lorsque l'élément est supprimé. La méthode personnalisée RemoveItemFromCache utilise la méthode Cache.Remove pour supprimer explicitement l'élément du cache, de telle sorte que la méthode RemovedCallback est appelée.

<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), TimeSpan.Zero, 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>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft