<elemento memoryCache> (impostazioni cache)

Definisce un elemento che viene usato per configurare una cache basata sulla classe MemoryCache . La classe MemoryCacheElement definisce un elemento memoryCache che è possibile usare per configurare la cache. In una singola applicazione possono essere usate più istanze della classe MemoryCache . Ogni elemento memoryCache nel file di configurazione può contenere le impostazioni per un'istanza denominata di MemoryCache .

<Configurazione>
  <System.runtime.caching>
    <Memorycache>

Sintassi

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

Tipo

ClasseMemoryCache .

Attributi ed elementi

Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.

Attributi

Attributo Descrizione
CacheMemoryLimitMegabytes La dimensione massima di memoria, in megabyte, che un'istanza di un oggetto MemoryCache può raggiungere. Il valore predefinito è 0 e significa che vengono usate per impostazione predefinita le euristiche di dimensionamento automatico della classe MemoryCache .
Name Nome della configurazione della cache.
PhysicalMemoryLimitPercentage Percentuale di memoria fisica utilizzabile dalla cache. Il valore predefinito è 0 e significa che vengono usate per impostazione predefinita le euristiche di dimensionamento automatico della classe MemoryCache .
PollingInterval Un valore che indica l'intervallo di tempo dopo il quale l'implementazione della cache confronta il carico di memoria corrente con i limiti di memoria percentuali e assoluti impostati per l'istanza della cache. Il valore viene inserito nel formato "HH:MM:SS".

Elementi figlio

Elemento Descrizione
<Namedcaches> Contiene una raccolta di impostazioni di configurazione per l'istanza namedCache .

Elementi padre

Elemento Descrizione
<Configurazione> Specifica l'elemento radice in ogni file di configurazione usato dalle applicazioni Common Language Runtime e .NET Framework.
<System.runtime.caching> Contiene tipi che consentono di implementare la memorizzazione nella cache di output nelle applicazioni integrate in .NET Framework.

Commenti

La classe MemoryCache è un'implementazione concreta della classe astratta ObjectCache . Alle istanze della classe MemoryCache possono essere fornite le informazioni di configurazione dei file di configurazione dell'applicazione. La sezione memoryCache della configurazione contiene una raccolta di configurazioni namedCaches .

Quando viene inizializzato un oggetto cache basato sulla memoria, esso tenta innanzitutto di trovare una voce namedCaches che corrisponde al nome nel parametro che viene passato al costruttore della cache in memoria. Se viene trovata una voce namedCaches , le informazioni di polling e di gestione della memoria vengono recuperate dal file di configurazione.

Il processo di inizializzazione determina quindi se è stato eseguito l'override di qualche voce di configurazione usando la raccolta facoltativa di coppie nome-valore delle informazioni di configurazione nel costruttore. Se viene passato uno qualsiasi dei seguenti valori nella raccolta di coppie nome-valore, questi valori eseguono l'override delle informazioni ottenute dal file di configurazione:

Esempio

Nell'esempio seguente viene illustrato come impostare il nome dell'oggetto sul nome dell'oggetto MemoryCache cache predefinito impostando l'attributo name su "Default".

Gli attributi cacheMemoryLimitMegabytes e physicalMemoryLimitPercentage sono impostati su zero. Il valore zero di questi attributi indica che per impostazione predefinita vengono usate le euristiche di ridimensionamento automatico di MemoryCache . L'implementazione della cache deve confrontare ogni due minuti il carico di memoria corrente con i limiti di memoria assoluti e in percentuale.

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

Vedi anche