Elemento <memoryCache> (configuración de caché)

Define un elemento que se usa para configurar una memoria caché basada en la clase MemoryCache . La clase MemoryCacheElement define un elemento memoryCache que se puede usar para configurar la memoria caché. Se pueden usar varias instancias de la clase MemoryCache en una sola aplicación. Cada elemento memoryCache del archivo de configuración puede contener valores de configuración para una instancia de MemoryCache con nombre.

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

Sintaxis

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

Tipo

ClaseMemoryCache .

Atributos y elementos

En las siguientes secciones se describen los atributos, los elementos secundarios y los elementos primarios.

Atributos

Atributo Descripción
CacheMemoryLimitMegabytes Tamaño máximo de memoria (en megabytes) que puede alcanzar una instancia de un objeto MemoryCache . El valor predeterminado es 0, lo que significa que se usa de forma predeterminada la heurística de ajuste automático de tamaño de la clase MemoryCache .
Name Nombre de la configuración de la memoria caché.
PhysicalMemoryLimitPercentage Porcentaje de memoria física que la memoria caché puede usar. El valor predeterminado es 0, lo que significa que se usa de forma predeterminada la heurística de ajuste automático de tamaño de la clase MemoryCache .
PollingInterval Valor que indica el intervalo de tiempo después del cual la implementación de caché compara la carga de memoria actual con los límites de memoria absoluto y de porcentaje que están establecidos para la instancia de caché. El valor se especifica en formato "HH:MM:SS".

Elementos secundarios

Elemento Descripción
<namedCaches> Contiene una colección de valores de configuración para la instancia de namedCache .

Elementos primarios

Elemento Descripción
<configuración> Especifica el elemento raíz necesario en cada archivo de configuración utilizado por Common Language Runtime y las aplicaciones de .NET Framework.
<system.runtime.caching> Contiene tipos que permiten implementar el almacenamiento en caché de resultados en las aplicaciones que están integradas en .NET Framework.

Comentarios

La clase MemoryCache es una implementación concreta de la clase abstracta ObjectCache . Se puede proporcionar información de configuración a las instancias de la clase MemoryCache a partir de archivos de configuración de la aplicación. La sección de configuración memoryCache contiene una colección de configuración namedCaches .

Cuando se inicializa un objeto de la caché basada en memoria, primero intenta encontrar una entrada namedCaches que coincida con el nombre del parámetro que se pasa al constructor de memoria caché. Si se encuentra una entrada namedCaches , se recupera la información de sondeo y administración de memoria del archivo de configuración.

Después, el proceso de inicialización determina si se ha reemplazado alguna entrada de configuración. Para ello, usa la colección opcional de pares nombre-valor de la información de configuración del constructor. Si pasa alguno de los valores siguientes en la colección de pares nombre-valor, estos valores reemplazarán la información obtenida del archivo de configuración:

Ejemplo

En el ejemplo siguiente se muestra cómo establecer el nombre del objeto MemoryCache en el nombre del objeto de caché predeterminado estableciendo el atributo name en "Default".

Los atributos cacheMemoryLimitMegabytes y physicalMemoryLimitPercentage se establecen en cero. El hecho de establecer estos atributos en cero implica que la heurística de ajuste automático de tamaño de MemoryCache se usa de forma predeterminada. La implementación de la memoria caché debe comparar cada dos minutos la carga de memoria actual con los límites de memoria absoluto y de porcentaje.

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

Consulte también