Cache Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Implémente le cache d’une application web. Cette classe ne peut pas être héritée.
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
- Héritage
-
Cache
- Implémente
Exemples
L’exemple suivant est une page qui montre aux utilisateurs la valeur affectée à un élément dans le cache, puis les avertit lorsque l’élément est supprimé du cache. Il crée une RemovedCallback méthode, qui a 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 indiquer 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 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 puissent 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.
Note
L’instance de Cache accessible par l’extrait de code ci-dessous est membre de l’objet Page que cet exemple hérite.
<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>
Remarques
Une instance de cette classe est créée par domaine d’application et reste valide tant que le domaine d’application reste actif. Des informations sur une instance de cette classe sont disponibles via la Cache propriété de l’objet HttpContext ou la Cache propriété de l’objet Page .
Note
La classe Cache n’est pas destinée à être utilisée en dehors des applications ASP.NET. Il a été conçu et testé pour une utilisation dans ASP.NET pour fournir la mise en cache pour les applications web. Pour d’autres types d’applications, tels que les applications console ou les applications Windows Forms, utilisez la classe ObjectCache.
Constructeurs
| Nom | Description |
|---|---|
| Cache() |
Initialise une nouvelle instance de la classe Cache. |
Champs
| Nom | Description |
|---|---|
| NoAbsoluteExpiration |
Utilisé dans le |
| NoSlidingExpiration |
Utilisé comme |
Propriétés
| Nom | Description |
|---|---|
| Count |
Obtient le nombre d’éléments stockés dans le 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. |
| EffectivePrivateBytesLimit |
Obtient le nombre d’octets disponibles pour le cache. |
| Item[String] |
Obtient ou définit l’élément de cache à la clé spécifiée. |
Méthodes
| Nom | Description |
|---|---|
| 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é, et un délégué que vous pouvez utiliser pour notifier votre application lorsque l’élément inséré est supprimé du |
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| Get(String) |
Récupère l’élément spécifié de l’objet Cache . |
| GetEnumerator() |
Récupère un énumérateur de dictionnaire utilisé pour itérer dans les paramètres de clé et leurs valeurs contenues dans le cache. |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) |
Insère un objet dans l’objet Cache avec des dépendances, des stratégies d’expiration et de priorité, et un délégué que vous pouvez utiliser pour notifier votre application lorsque l’élément inséré est supprimé du |
| Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemUpdateCallback) |
Insère un objet dans l’objet Cache avec des dépendances, des stratégies d’expiration et un délégué que vous pouvez utiliser pour notifier l’application avant la suppression de l’élément du cache. |
| Insert(String, Object, CacheDependency, DateTime, TimeSpan) |
Insère un objet dans les Cache stratégies d’expiration et de dépendances. |
| Insert(String, Object, CacheDependency) |
Insère un objet dans le Cache fichier ou les dépendances de clé. |
| Insert(String, Object) |
Insère un élément dans l’objet avec une clé de Cache cache pour référencer son emplacement, en utilisant les valeurs par défaut fournies par l’énumération CacheItemPriority . |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| Remove(String) |
Supprime l’élément spécifié de l’objet de Cache l’application. |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| IEnumerable.GetEnumerator() |
Retourne un énumérateur qui peut itérer au sein de la collection d’objets Cache . |
Méthodes d’extension
| Nom | Description |
|---|---|
| AsParallel(IEnumerable) |
Active la parallélisation d’une requête. |
| AsQueryable(IEnumerable) |
Convertit un IEnumerable en IQueryable. |
| Cast<TResult>(IEnumerable) |
Convertit les éléments d’un IEnumerable en type spécifié. |
| OfType<TResult>(IEnumerable) |
Filtre les éléments d’une IEnumerable en fonction d’un type spécifié. |
S’applique à
Cohérence de thread
Ce type est thread safe.