Condividi tramite


<memoryCache> Elemento (impostazioni cache)

Definisce un elemento utilizzato per configurare una cache basata sulla MemoryCache classe . La MemoryCacheElement classe definisce un elemento memoryCache che è possibile usare per configurare la cache. È possibile usare più istanze della MemoryCache classe in una singola applicazione. Ogni memoryCache elemento nel file di configurazione può contenere impostazioni per un'istanza denominata MemoryCache .

<configurazione>
   <system.runtime.caching>
     <memoryCache>

Sintassi

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

TIPO

classe MemoryCache.

Attributi ed elementi

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

Attributi

Attributo Descrizione
CacheMemoryLimitMegabytes Dimensioni massime della memoria, in megabyte, che un'istanza di un MemoryCache oggetto può aumentare. Il valore predefinito è 0, il che significa che l'euristica MemoryCache delle dimensioni automatiche della classe viene usata per impostazione predefinita. Questa impostazione è valida solo in .Net Framework.
Name Nome della configurazione della cache.
PhysicalMemoryLimitPercentage percentuale dell'utilizzo totale della memoria fisica nel sistema (da tutti i processi) in cui la cache inizierà a rimuovere le voci. Il valore predefinito è 0, il che significa che l'euristica MemoryCache delle dimensioni automatiche della classe viene usata per impostazione predefinita.
PollingInterval Valore che indica l'intervallo di tempo dopo il quale l'implementazione della cache confronta il carico di memoria corrente rispetto ai limiti di memoria assoluti e percentuali impostati per l'istanza della cache. Il valore viene immesso nel formato "HH:MM:SS".

Elementi figli

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

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.

Osservazioni:

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

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

Il processo di inizializzazione determina quindi se le voci di configurazione sono state sottoposte a override usando la raccolta facoltativa di coppie nome/valore di informazioni di configurazione nel costruttore. Se si passa uno dei valori seguenti nella raccolta di coppie nome/valore, questi valori sostituiscono le 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".

L'attributo cacheMemoryLimitMegabytes e l'attributo physicalMemoryLimitPercentage sono impostati su zero. L'impostazione di questi attributi su zero indica che l'euristica MemoryCache di ridimensionamento automatico viene usata per impostazione predefinita. L'implementazione della cache deve confrontare il carico di memoria corrente con i limiti di memoria assoluti e basati su percentuale ogni due minuti.

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

Vedere anche