Partager via


<memoryCache>, élément (paramètres de cache)

Définit un élément qui est utilisé pour configurer un cache basé sur la classe MemoryCache . La classe MemoryCacheElement définit un élément memoryCache que vous pouvez utiliser pour configurer le cache. Vous pouvez utiliser plusieurs instances de la classe MemoryCache dans une même application. Chaque élément memoryCache dans le fichier de configuration peut contenir des paramètres pour une instance MemoryCache nommée.

<configuration>
  <system.runtime.caching>
    <memoryCache>

Syntaxe

<memoryCache>
    <namedCaches>  
        <!-- child elements -->  
    </namedCaches>
</memoryCache>  

Type

ClasseMemoryCache .

Attributs et éléments

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributs

Attribut Description
CacheMemoryLimitMegabytes Taille de mémoire maximale, en mégaoctets, que peut atteindre une instance d’un objet MemoryCache . La valeur par défaut est 0, ce qui signifie que l’heuristique de dimensionnement automatique de la classe MemoryCache est utilisée par défaut.
Name Nom de la configuration du cache.
PhysicalMemoryLimitPercentage Pourcentage de mémoire physique pouvant être utilisé par le cache. La valeur par défaut est 0, ce qui signifie que l’heuristique de dimensionnement automatique de la classe MemoryCache est utilisée par défaut.
PollingInterval Valeur qui indique l’intervalle de temps après lequel l’implémentation de cache compare la charge de mémoire actuelle aux limites de mémoire absolue et en pourcentage définies pour l’instance de cache. La valeur est entrée au format « HH:MM:SS ».

Éléments enfants

Élément Description
<namedCaches> Contient une collection de paramètres de configuration pour l’instance namedCache .

Éléments parents

Élément Description
<configuration> Spécifie l’élément racine dans chaque fichier de configuration utilisé par le Common Language Runtime et les applications .NET Framework.
<system.runtime.caching> Contient des types qui vous permettent d’implémenter la mise en cache de sortie dans les applications intégrées à .NET Framework.

Notes

La classe MemoryCache est une implémentation concrète de la classe ObjectCache abstraite. Les instances de la classe MemoryCache peuvent être fournies avec les informations de configuration tirées des fichiers de configuration d’application. La section de configuration memoryCache contient une collection de configurations namedCaches .

Quand un objet cache en mémoire est initialisé, il essaie tout d’abord de trouver une entrée namedCaches qui correspond au nom mentionné dans le paramètre passé au constructeur du cache mémoire. S’il trouve une entrée namedCaches , les informations de gestion de la mémoire et d’interrogation sont récupérées à partir du fichier de configuration.

Le processus d’initialisation détermine ensuite si des entrées de configuration ont été substituées, en utilisant la collection facultative de paires nom/valeur d’informations de configuration dans le constructeur. Si vous passez l’une des valeurs suivantes dans la collection de paires nom/valeur, ces valeurs remplacent les informations obtenues à partir du fichier de configuration :

Exemple

L’exemple suivant montre comment affecter au nom de l’objet MemoryCache le nom d’objet cache par défaut en définissant l’attribut name sur « Default ».

Les attributs cacheMemoryLimitMegabytes et physicalMemoryLimitPercentage sont définis sur zéro. La définition de ces attributs sur zéro signifie que les heuristiques à dimensionnement automatique de MemoryCache sont utilisées par défaut. L’implémentation du cache doit comparer la charge de mémoire actuelle aux limites de mémoire en valeur absolue et en pourcentage toutes les deux minutes.

<configuration>  
  <system.runtime.caching>  
    <memoryCache>  
      <namedCaches>  
          <add name="Default"
               cacheMemoryLimitMegabytes="0"
               physicalMemoryLimitPercentage="0"  
               pollingInterval="00:02:00" />  
      </namedCaches>  
    </memoryCache>  
  </system.runtime.caching>  
</configuration>  

Voir aussi