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
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

MemoryCache, classe

Représente le type qui implémente un cache en mémoire.

System.Object
  System.Runtime.Caching.ObjectCache
    System.Runtime.Caching.MemoryCache

Espace de noms :  System.Runtime.Caching
Assembly :  System.Runtime.Caching (dans System.Runtime.Caching.dll)
public class MemoryCache : ObjectCache, 
	IEnumerable, IDisposable

Le type MemoryCache expose les membres suivants.

  Nom Description
Méthode publique MemoryCache Initialise une nouvelle instance de la classe MemoryCache.
Début
  Nom Description
Propriété publique CacheMemoryLimit Obtient la quantité de mémoire, en octets, de l'ordinateur pouvant être utilisée par le cache.
Propriété publique Membre statique Default Obtient une référence à l'instance MemoryCache par défaut.
Propriété publique DefaultCacheCapabilities Obtient une description des fonctionnalités que fournit le cache. (Substitue ObjectCache.DefaultCacheCapabilities.)
Propriété publique 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].)
Propriété publique Name Obtient le nom du cache. (Substitue ObjectCache.Name.)
Propriété publique PhysicalMemoryLimit Obtient le pourcentage de mémoire physique que le cache peut utiliser.
Propriété publique PollingInterval Obtient la durée maximale après laquelle le cache met à jour ses statistiques de mémoire.
Début
  Nom Description
Méthode publique 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.)
Méthode publique 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.)
Méthode publique 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.)
Méthode publique 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).)
Méthode publique 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).)
Méthode publique 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).)
Méthode publique Contains Détermine si une entrée de cache existe dans le cache. (Substitue ObjectCache.Contains(String, String).)
Méthode publique 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).)
Méthode publique Dispose Libère toutes les ressources utilisées par l'instance actuelle de la classe MemoryCache.
Méthode publique Equals(Object) Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.)
Méthode protégée 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.)
Méthode publique Get Retourne une entrée du cache. (Substitue ObjectCache.Get(String, String).)
Méthode publique GetCacheItem Retourne l'entrée spécifiée du cache sous la forme d'une instance CacheItem. (Substitue ObjectCache.GetCacheItem(String, String).)
Méthode publique GetCount Retourne le nombre total d'entrées dans le cache. (Substitue ObjectCache.GetCount(String).)
Méthode protégée 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().)
Méthode publique GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publique 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).)
Méthode publique GetValues(String, String[]) Obtient un ensemble d'entrées du cache qui correspondent aux clés spécifiées. (Hérité de ObjectCache.)
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode publique Remove Supprime une entrée du cache. (Substitue ObjectCache.Remove(String, String).)
Méthode publique 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).)
Méthode publique 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).)
Méthode publique 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).)
Méthode publique ToString Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.)
Méthode publique Trim Supprime un pourcentage spécifié d'entrées de cache de l'objet de cache.
Début
  Nom Description
Méthode d'extension publique AsParallel Active la parallélisation d'une requête. (Défini par ParallelEnumerable.)
Méthode d'extension publique AsQueryable Convertit un IEnumerable en IQueryable. (Défini par Queryable.)
Méthode d'extension publique Cast<TResult> Convertit les éléments d'un IEnumerable vers le type spécifié. (Défini par Enumerable.)
Méthode d'extension publique OfType<TResult> Filtre les éléments d'un IEnumerable en fonction du type spécifié. (Défini par Enumerable.)
Début
  Nom Description
Implémentation d'interface explicite Méthode privée IEnumerable.GetEnumerator Prend en charge l'itération au sein d'une collection générique.
Implémentation d'interface explicite Méthode privée IEnumerable<KeyValuePair<String, Object>>.GetEnumerator Prend en charge l'itération au sein d'une collection fortement typée. (Hérité de ObjectCache.)
Début

La classe MemoryCache est une implémentation concrète de la classe ObjectCache abstraite.

Remarque 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;
}

.NET Framework

Pris en charge dans : 4

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.

Ce type est thread-safe.

Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ