Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. |
Traduction
Source
|
MemoryCache, classe
Représente le type qui implémente un cache en mémoire.
Assembly : System.Runtime.Caching (dans System.Runtime.Caching.dll)
Le type MemoryCache expose les membres suivants.
| Nom | Description | |
|---|---|---|
|
CacheMemoryLimit | Obtient la quantité de mémoire, en octets, de l'ordinateur pouvant être utilisée par le cache. |
|
Default | Obtient une référence à l'instance MemoryCache par défaut. |
|
DefaultCacheCapabilities | Obtient une description des fonctionnalités que fournit le cache. (Substitue ObjectCache.DefaultCacheCapabilities.) |
|
Item | Obtient ou définit une valeur du cache en utilisant la propriété d'indexeur par défaut pour une instance de la classe MemoryCache. (Substitue ObjectCache.Item[String].) |
|
Name | Obtient le nom du cache. (Substitue ObjectCache.Name.) |
|
PhysicalMemoryLimit | Obtient le pourcentage de mémoire physique que le cache peut utiliser. |
|
PollingInterval | Obtient la durée maximale après laquelle le cache met à jour ses statistiques de mémoire. |
| Nom | Description | |
|---|---|---|
|
Add(CacheItem, CacheItemPolicy) | En cas de substitution dans une classe dérivée, tente d'insérer une entrée dans le cache sous forme d'instance CacheItem et ajoute des détails concernant la méthode d'éviction de l'entrée. (Hérité de ObjectCache.) |
|
Add(String, Object, DateTimeOffset, String) | En cas de substitution dans une classe dérivée, insère une entrée dans le cache sans remplacer d'entrée d'entrée de cache existante. (Hérité de ObjectCache.) |
|
Add(String, Object, CacheItemPolicy, String) | En cas de substitution dans une classe dérivée, insère une entrée dans le cache, en spécifiant des informations sur le mode de suppression de l'entrée. (Hérité de ObjectCache.) |
|
AddOrGetExisting(CacheItem, CacheItemPolicy) | Ajoute une entrée dans le cache à l'aide de l'instance CacheItem spécifiée et des détails concernant le mode de suppression de l'entrée. (Substitue ObjectCache.AddOrGetExisting(CacheItem, CacheItemPolicy).) |
|
AddOrGetExisting(String, Object, DateTimeOffset, String) | Ajoute une entrée dans le cache à l'aide de la clé spécifiée, d'une valeur et d'une valeur d'expiration absolue. (Substitue ObjectCache.AddOrGetExisting(String, Object, DateTimeOffset, String).) |
|
AddOrGetExisting(String, Object, CacheItemPolicy, String) | Insère une entrée dans le cache à l'aide de la clé et de la valeur spécifiées, ainsi que des détails spécifiés concernant le mode de suppression. (Substitue ObjectCache.AddOrGetExisting(String, Object, CacheItemPolicy, String).) |
|
Contains | Détermine si une entrée de cache existe dans le cache. (Substitue ObjectCache.Contains(String, String).) |
|
CreateCacheEntryChangeMonitor | Crée un objet CacheEntryChangeMonitor qui peut déclencher des événements en réponse à des modifications apportées aux entrées du cache spécifiées. (Substitue ObjectCache.CreateCacheEntryChangeMonitor(IEnumerable<String>, String).) |
|
Dispose | Libère toutes les ressources utilisées par l'instance actuelle de la classe MemoryCache. |
|
Equals(Object) | Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.) |
|
Finalize | Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de netto***ge avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.) |
|
Get | Retourne une entrée du cache. (Substitue ObjectCache.Get(String, String).) |
|
GetCacheItem | Retourne l'entrée spécifiée du cache sous la forme d'une instance CacheItem. (Substitue ObjectCache.GetCacheItem(String, String).) |
|
GetCount | Retourne le nombre total d'entrées dans le cache. (Substitue ObjectCache.GetCount(String).) |
|
GetEnumerator | Crée un énumérateur qui peut être utilisé pour itérer au sein d'une collection d'entrées de cache. (Substitue ObjectCache.GetEnumerator().) |
|
GetHashCode | Sert de fonction de hachage pour un type particulier. (Hérité de Object.) |
|
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) |
|
GetValues(IEnumerable<String>, String) | Retourne un ensemble d'entrées du cache qui correspondent aux clés spécifiées. (Substitue ObjectCache.GetValues(IEnumerable<String>, String).) |
|
GetValues(String, String[]) | Obtient un ensemble d'entrées du cache qui correspondent aux clés spécifiées. (Hérité de ObjectCache.) |
|
MemberwiseClone | Crée une copie superficielle de l'objet Object actif. (Hérité de Object.) |
|
Remove | Supprime une entrée du cache. (Substitue ObjectCache.Remove(String, String).) |
|
Set(CacheItem, CacheItemPolicy) | Insère une entrée dans le cache à l'aide d'une instance CacheItem pour fournir la clé et la valeur de l'entrée du cache. (Substitue ObjectCache.Set(CacheItem, CacheItemPolicy).) |
|
Set(String, Object, DateTimeOffset, String) | Insère une entrée dans le cache à l'aide d'une clé et d'une valeur, et spécifie les détails d'expiration basés sur l'heure. (Substitue ObjectCache.Set(String, Object, DateTimeOffset, String).) |
|
Set(String, Object, CacheItemPolicy, String) | Insère une entrée dans le cache à l'aide d'une clé et d'une valeur pour l'éviction. (Substitue ObjectCache.Set(String, Object, CacheItemPolicy, String).) |
|
ToString | Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.) |
|
Trim | Supprime un pourcentage spécifié d'entrées de cache de l'objet de cache. |
| Nom | Description | |
|---|---|---|
|
AsParallel | Active la parallélisation d'une requête. (Défini par ParallelEnumerable.) |
|
AsQueryable | Convertit un IEnumerable en IQueryable. (Défini par Queryable.) |
|
Cast<TResult> | Convertit les éléments d'un IEnumerable vers le type spécifié. (Défini par Enumerable.) |
|
OfType<TResult> | Filtre les éléments d'un IEnumerable en fonction du type spécifié. (Défini par Enumerable.) |
| Nom | Description | |
|---|---|---|
|
IEnumerable.GetEnumerator | Prend en charge l'itération au sein d'une collection générique. |
|
IEnumerable<KeyValuePair<String, Object>>.GetEnumerator | Prend en charge l'itération au sein d'une collection fortement typée. (Hérité de ObjectCache.) |
La classe MemoryCache est une implémentation concrète de la classe ObjectCache abstraite.
Remarque
|
|---|
|
La classe MemoryCache est semblable à la classe Cache d'ASP.NET. La classe MemoryCache a de nombreuses propriétés et méthodes pour l'accès au cache qui vous seront familières si vous avez utilisé la classe Cache d'ASP.NET. Les principales différences entre les classes MemoryCache et Cache sont que la classe MemoryCache a été modifiée pour être utilisable par les applications .NET Framework qui ne sont pas des applications ASP.NET. Par exemple, la classe MemoryCache n'a pas de dépendances sur l'assembly System.Web. Une autre différence est que vous pouvez créer plusieurs instances de la classe MemoryCache pour une utilisation dans la même application et dans la même instance AppDomain. |
La classe MemoryCache n'autorise pas la valeur null comme valeur dans le cache. Toute tentative d'ajouter ou modifier une entrée du cache avec une valeur de null échouera.
Le type MemoryCache n'implémente pas de zones de cache. Par conséquent, lorsque vous appelez des méthodes MemoryCache qui implémentent des méthodes de base qui contiennent un paramètre pour les zones, ne passez pas de valeur pour le paramètre. Les méthodes qui utilisent le paramètre de région fournissent toutes une valeur null par défaut. Par exemple, la surcharge de méthode MemoryCache.AddOrGetExisting a un paramètre regionName dont la valeur par défaut est null.
L'exemple suivant déclare une référence à l'instance de cache mémoire par défaut. L'entrée du cache utilise un objet CacheItemPolicy pour fournir des détails sur l'éviction et l'expiration pour l'entrée du cache. Elle utilise également un objet ChangeMonitor pour surveiller l'état des données source (qui constituent un fichier) sur le système de fichiers.
Private Sub btnGet_Click(ByVal sender As Object, ByVal e As EventArgs) Dim cache As ObjectCache = MemoryCache.[Default] Dim fileContents As String = TryCast(cache("filecontents"), String) If fileContents Is Nothing Then Dim policy As New CacheItemPolicy() Dim filePaths As New List(Of String)() filePaths.Add("c:\cache\example.txt") policy.ChangeMonitors.Add(New HostFileChangeMonitor(filePaths)) ' Fetch the file contents. fileContents = File.ReadAllText("c:\cache\example.txt") cache.[Set]("filecontents", fileContents, policy) End If Label1.Text = fileContents End Sub
private void btnGet_Click(object sender, EventArgs e) { ObjectCache cache = MemoryCache.Default; string fileContents = cache["filecontents"] as string; if (fileContents == null) { CacheItemPolicy policy = new CacheItemPolicy(); List<string> filePaths = new List<string>(); filePaths.Add("c:\\cache\\example.txt"); policy.ChangeMonitors.Add(new HostFileChangeMonitor(filePaths)); // Fetch the file contents. fileContents = File.ReadAllText("c:\\cache\\example.txt"); cache.Set("filecontents", fileContents, policy); } Label1.Text = fileContents; }
Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2
Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Remarque