<memoryCache>-Element (Cacheeinstellungen)

Definiert ein Element, das für die Konfiguration des Cache verwendet wird, der auf der MemoryCache -Klasse basiert. Die MemoryCacheElement -Klasse definiert ein memoryCache -Element, das Sie zum Konfigurieren des Caches verwenden können. Mehrere Instanzen der MemoryCache -Klasse können in einer einzigen Anwendung verwendet werden. Jedes memoryCache -Element in der Konfigurationsdatei kann Einstellungen für eine benannte MemoryCache -Instanz enthalten.

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

Syntax

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

type

MemoryCache -Klasse.

Attribute und Elemente

In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.

Attribute

attribute BESCHREIBUNG
CacheMemoryLimitMegabytes Die maximale Arbeitsspeichergröße in Megabyte, auf die eine Instanz eines MemoryCache -Objekts anwachsen kann. Der Standardwert ist 0, was bedeutet, dass die MemoryCache -Klasse Autosize-Heuristik als Standard verwendet wird.
Name Der Name der Cachekonfiguration.
PhysicalMemoryLimitPercentage Der Prozentsatz des physischen Arbeitsspeichers, der vom Cache verwendet werden kann. Der Standardwert ist 0, was bedeutet, dass die MemoryCache -Klasse Autosize-Heuristik als Standard verwendet wird.
PollingInterval Ein Wert, der das Zeitintervall angibt, in dem die Cacheimplementierung die aktuelle Auslastung des Arbeitsspeichers mit den absoluten und prozentualen Speichergrenzen vergleicht, die für die Cacheinstanz festgelegt sind. Der Wert wird im Format „HH:MM:SS“ eingegeben.

Untergeordnete Elemente

Element BESCHREIBUNG
<namedCaches> Enthält eine Sammlung von Konfigurationseigenschaften für die namedCache -Instanz.

Übergeordnete Elemente

Element BESCHREIBUNG
<configuration> Hiermit wird das Stammelement in jeder Konfigurationsdatei angegeben, die von der Common Language Runtime und .NET Framework-Anwendungen verwendet wird.
<system.runtime.caching> Dieses Element enthält Typen, mit denen Sie das Zwischenspeichern der Ausgabe in Anwendungen implementieren können, die im .NET Framework integriert sind.

Bemerkungen

Die MemoryCache -Klasse ist eine konkrete Implementierung der abstrakten ObjectCache -Klasse. Instanzen der MemoryCache -Klasse können mit Konfigurationsinformationen von Anwendungskonfigurationsdateien versorgt werden. Der Abschnitt memoryCache -Konfiguration enthält eine namedCaches -Konfigurationssammlung.

Wenn ein speicherbasierendes Cacheobjekt initialisiert wird, versucht es zuerst, einen namedCaches -Eintrag zu finden, der dem Namen in dem Parameter entspricht, der an den Speichercache-Konstruktor übergeben wird. Wenn ein namedCaches -Eintrag gefunden wird, werden Abruf- und Speicher-Management-Informationen aus der Konfigurationsdatei abgerufen.

Der Initialisierungsprozess bestimmt dann mithilfe der optionalen Sammlung von Name-Wert-Paaren mit Konfigurationsinformationen im Konstruktor, ob Konfigurationseinträge überschrieben wurden. Wenn Sie einen oder mehrere der folgenden Werte in der Name-Wert-Paar-Sammlung übergeben, überschreiben diese Werte Informationen aus der Konfigurationsdatei:

Beispiel

Im folgenden Beispiel wird veranschaulicht, wie Sie den Namen des MemoryCache-Objekts auf den Standardcache-Objektnamen festlegen, indem Sie das name-Attribut auf „Default“ festlegen.

Das cacheMemoryLimitMegabytes - und das physicalMemoryLimitPercentage -Attribut werden auf 0 (Null) festgelegt. Werden diese Attribute auf 0 (Null) festgelegt, wird die MemoryCache -Heuristik zum automatischen Anpassen als Standard verwendet. Die Cacheimplementierung sollte die aktuelle Auslastung des Arbeitsspeichers alle zwei Minuten mit den absoluten und prozentualen Speichergrenzen vergleichen.

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

Siehe auch