Cache Class

Definition

Implémente le cache pour une application Web.Implements the cache for a Web application. Cette classe ne peut pas être héritée.This class cannot be inherited.

public ref class Cache sealed : System::Collections::IEnumerable
public sealed class Cache : System.Collections.IEnumerable
type Cache = class
    interface IEnumerable
Public NotInheritable Class Cache
Implements IEnumerable
Inheritance
Cache
Implements

Examples

L’exemple suivant est une page qui indique aux utilisateurs la valeur affectée à un élément dans le cache, puis les notifie lorsque l’élément est supprimé du cache.The following example is a page that shows users the value assigned to an item in the cache, and then notifies them when the item is removed from the cache. Il crée une méthode RemovedCallback, qui a la signature du délégué CacheItemRemovedCallback, pour avertir les utilisateurs lorsque l’élément de cache est supprimé, et il utilise l’énumération CacheItemRemovedReason pour leur indiquer pourquoi il a été supprimé.It creates a RemovedCallback method, which has the signature of the CacheItemRemovedCallback delegate, to notify users when the cache item is removed, and it uses the CacheItemRemovedReason enumeration to tell them why it was removed. En outre, elle utilise la propriété Cache.Item[] pour ajouter des objets au cache et récupérer la valeur de ces objets.In addition, it uses the Cache.Item[] property to add objects to the cache and retrieve the value of those objects. Dans la méthode AddItemToCache, elle utilise la méthode Cache.Add pour ajouter un élément au cache.In the AddItemToCache method, it uses the Cache.Add method to add an item to the cache. Pour utiliser le délégué CacheItemRemovedCallback, vous devez ajouter un élément au cache avec cette méthode ou la méthode Cache.Insert, afin que ASP.NET puisse effectuer automatiquement les appels de méthode appropriés lorsque l’élément est supprimé.To use the CacheItemRemovedCallback delegate, you must add an item to the cache with this method or the Cache.Insert method, so that ASP.NET can automatically make the proper method calls when the item is removed. La méthode RemoveItemFromCache personnalisée utilise la méthode Cache.Remove pour supprimer explicitement l’élément du cache, ce qui entraîne l’appel de la méthode RemovedCallback.The custom RemoveItemFromCache method uses the Cache.Remove method to explicitly delete the item from the cache, causing the RemovedCallback method to be invoked.

Note

L’instance du cache accessible par l’extrait de code ci-dessous est un membre de l’objet Page que cet exemple hérite.The instance of Cache that is accessed by the snippet below is a member of the Page object that this sample inherits.

<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>
<%@ Page Language="VB" %>

<html>
 <Script runat=server>
' <snippet2>
    Shared itemRemoved As boolean = false
    Shared reason As CacheItemRemovedReason
    Dim onRemove As CacheItemRemovedCallback

    Public Sub RemovedCallback(k As String, v As Object, r As CacheItemRemovedReason)
      itemRemoved = true
      reason = r
    End Sub
' </snippet2>

' <snippet3>
    Public Sub AddItemToCache(sender As Object, e As EventArgs)
        itemRemoved = false

        onRemove = New CacheItemRemovedCallback(AddressOf Me.RemovedCallback)

        If (IsNothing(Cache("Key1"))) Then
          Cache.Add("Key1", "Value 1", Nothing, DateTime.Now.AddSeconds(60), Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove)
        End If
    End Sub
' </snippet3>

' <snippet4>
    Public Sub RemoveItemFromCache(sender As Object, e As EventArgs)
        If (Not IsNothing(Cache("Key1"))) Then
          Cache.Remove("Key1")
        End If
    End Sub
' </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) Then
    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(CType(Cache("Key1"),String)) + "</B>")
' </snippet5>
End If
%>
 </body>
</html>

Remarks

Une instance de cette classe est créée par domaine d’application et reste valide tant que le domaine d’application reste actif.One instance of this class is created per application domain, and it remains valid as long as the application domain remains active. Les informations relatives à une instance de cette classe sont disponibles par le biais de la propriété Cache de l’objet HttpContext ou de la propriété Cache de l’objet Page.Information about an instance of this class is available through the Cache property of the HttpContext object or the Cache property of the Page object.

Note

La classe Cache n’est pas destinée à être utilisée en dehors des applications ASP.NET.The Cache class is not intended for use outside of ASP.NET applications. Il a été conçu et testé pour être utilisé dans ASP.NET pour assurer la mise en cache des applications Web.It was designed and tested for use in ASP.NET to provide caching for Web applications. Pour les autres types d’applications, telles que les applications console ou les applications Windows Forms, utilisez la classe ObjectCache.For other types of applications, such as console applications or Windows Forms applications, use the ObjectCache class.

Constructors

Cache()

Initialise une nouvelle instance de la classe Cache.Initializes a new instance of the Cache class.

Fields

NoAbsoluteExpiration

Utilisé dans le paramètre absoluteExpiration d'un appel de méthode Insert(String, Object) pour indiquer que l'élément ne doit jamais expirer.Used in the absoluteExpiration parameter in an Insert(String, Object) method call to indicate the item should never expire. Ce champ est en lecture seule.This field is read-only.

NoSlidingExpiration

Utilisé comme paramètre slidingExpiration dans un appel à la méthode Insert(String, Object) ou Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) pour désactiver les expirations décalées.Used as the slidingExpiration parameter in an Insert(String, Object) or Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) method call to disable sliding expirations. Ce champ est en lecture seule.This field is read-only.

Properties

Count

Obtient le nombre d’éléments stockés dans le cache.Gets the number of items stored in the cache.

EffectivePercentagePhysicalMemoryLimit

Obtient le pourcentage de mémoire physique qui peut être consommée par une application avant que 'ASP.NET commence à supprimer des éléments du cache.Gets the percentage of physical memory that can be consumed by an application before ASP.NET starts removing items from the cache.

EffectivePrivateBytesLimit

Obtient le nombre d'octets disponibles pour le cache.Gets the number of bytes available for the cache.

Item[String]

Obtient ou définit l'élément du cache correspondant à la clé spécifiée.Gets or sets the cache item at the specified key.

Methods

Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback)

Ajoute l'élément spécifié à l'objet Cache avec des dépendances, des stratégies d'expiration et de priorité, ainsi qu'un délégué que vous pouvez utiliser pour avertir votre application lorsque l'élément inséré est supprimé du Cache.Adds the specified item to the Cache object with dependencies, expiration and priority policies, and a delegate you can use to notify your application when the inserted item is removed from the Cache.

Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Inherited from Object)
Get(String)

Récupère l'élément spécifié de l'objet Cache.Retrieves the specified item from the Cache object.

GetEnumerator()

Retrouve un énumérateur de dictionnaire utilisé pour itérer sur les paramètres de clé et leurs valeurs contenues dans le cache.Retrieves a dictionary enumerator used to iterate through the key settings and their values contained in the cache.

GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Inherited from Object)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Inherited from Object)
Insert(String, Object)

Insère un élément dans l'objet Cache avec une clé de cache pour faire référence à son emplacement, en utilisant les valeurs par défaut fournies par l'énumération CacheItemPriority.Inserts an item into the Cache object with a cache key to reference its location, using default values provided by the CacheItemPriority enumeration.

Insert(String, Object, CacheDependency)

Insère un objet dans le Cache qui présente des dépendances de fichier ou de clé.Inserts an object into the Cache that has file or key dependencies.

Insert(String, Object, CacheDependency, DateTime, TimeSpan)

Insère un objet dans le Cache avec des dépendances et des stratégies d'expiration.Inserts an object into the Cache with dependencies and expiration policies.

Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback)

Ajoute un objet au Cache avec des dépendances, des stratégies d'expiration et de priorité, ainsi qu'un délégué que vous pouvez utiliser pour avertir votre application lorsque l'élément inséré est supprimé du Cache.Inserts an object into the Cache object with dependencies, expiration and priority policies, and a delegate you can use to notify your application when the inserted item is removed from the Cache.

Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemUpdateCallback)

Ajoute un objet à l'objet Cache avec des dépendances, des stratégies d'expiration et un délégué que vous pouvez utiliser pour avertir l'application avant que l'élément ne soit supprimé du cache.Inserts an object into the Cache object together with dependencies, expiration policies, and a delegate that you can use to notify the application before the item is removed from the cache.

MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Inherited from Object)
Remove(String)

Supprime l'élément spécifié dans l'objet Cache de l'application.Removes the specified item from the application's Cache object.

ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Inherited from Object)

Explicit Interface Implementations

IEnumerable.GetEnumerator()

Retourne un énumérateur qui peut itérer au sein de la collection d'objets Cache.Returns an enumerator that can iterate through the Cache object collection.

Extension Methods

Cast<TResult>(IEnumerable)

Effectue un cast des éléments d'un IEnumerable vers le type spécifié.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtre les éléments d'un IEnumerable en fonction du type spécifié.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Active la parallélisation d'une requête.Enables parallelization of a query.

AsQueryable(IEnumerable)

Convertit un IEnumerable en IQueryable.Converts an IEnumerable to an IQueryable.

Applies to

Thread Safety

Ce type est thread-safe.This type is thread safe.

See also