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>