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 pour 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 attribué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 informer 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é. En outre, il 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.
Notes
L’instance de Cache accessible par l’extrait de code ci-dessous est membre de l’objet Page dont 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. Les 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 .
Notes
La Cache classe n’est pas destinée à être utilisée en dehors de ASP.NET applications. Il a été conçu et testé pour une utilisation dans ASP.NET afin de fournir une 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 ObjectCache classe .
Constructeurs
Cache() |
Initialise une nouvelle instance de la classe Cache. |
Champs
NoAbsoluteExpiration |
Utilisé dans le paramètre |
NoSlidingExpiration |
Utilisé comme paramètre |
Propriétés
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 du cache correspondant à la clé spécifiée. |
Méthodes
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 |
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() |
Retrouve un énumérateur de dictionnaire utilisé pour itérer sur les paramètres de clé et leurs valeurs contenues dans le cache. |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de 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. |
Insert(String, Object, CacheDependency) |
Insère un objet dans le Cache qui présente des dépendances de fichier ou de clé. |
Insert(String, Object, CacheDependency, DateTime, TimeSpan) |
Insère un objet dans le Cache avec des dépendances et des stratégies d'expiration. |
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 |
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. |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
Remove(String) |
Supprime l'élément spécifié dans l'objet Cache de l'application. |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
Implémentations d’interfaces explicites
IEnumerable.GetEnumerator() |
Retourne un énumérateur qui peut itérer au sein de la collection d'objets Cache. |
Méthodes d’extension
Cast<TResult>(IEnumerable) |
Effectue un cast des éléments d'un IEnumerable vers le type spécifié. |
OfType<TResult>(IEnumerable) |
Filtre les éléments d'un IEnumerable en fonction du type spécifié. |
AsParallel(IEnumerable) |
Active la parallélisation d'une requête. |
AsQueryable(IEnumerable) |
Convertit un IEnumerable en IQueryable. |
S’applique à
Cohérence de thread
Ce type est thread-safe.