Freigeben über


Konfigurationseinstellungen für den Rollencacheclient ("Web.config")

Wichtig

Microsoft empfiehlt, alle neuen Entwicklungen azure Redis Cache zu verwenden. Aktuelle Dokumentation und Anleitung zum Auswählen eines Azure Cache-Angebots finden Sie unter Welches Azure Cache-Angebot ist für mich geeignet?

In diesem Thema werden die Anforderungen für die Unterstützung von In-Role Cache in einer .NET Framework web.config- oder app.config Konfigurationsdatei beschrieben. Außerdem werden die verfügbaren Konfigurationsoptionen für Cacheclients beschrieben. Die in diesem Thema beschriebenen Einstellungen sind nur von Cacheclients erforderlich; sie sind nicht für Rollen erforderlich, die In-Role Cache hosten.

Tipp

Wenn Sie das NuGet-Paket für In-Role Cache verwenden, ändert das Paket automatisch die Konfigurationsdatei. Sie können dieses Thema jedoch verwenden, um In-Role Cacheclients ohne Die Verwendung von NutGet zu konfigurieren. Sie können diese Informationen auch verwenden, um die Cacheclienteinstellungen, die NuGet einfügt, weiter anzupassen.

Die folgenden Abschnitte werden in diesem Thema behandelt.

  • <configSections>

  • <dataCacheClients>

    • <dataCacheClient>

      • <Autoermittlung>

      • <localCache>

      • <clientNotification>

      • <serializationProperties>

  • <cacheDiagnostics>

    • <crashDump>

Cacheclient-Konfigurationsbeispiel

Das folgende Beispiel zeigt die Abschnitte einer web.config- oder app.config-Datei, die für In-Role Cache relevant sind. In diesem Beispiel greift der default-Cacheclient auf die Caches zu, die von der CacheWorkerRole1-Rolle gehostet werden, und der lokale Cache ist aktiviert.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="dataCacheClients" type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core" allowLocation="true" allowDefinition="Everywhere" />
    <section name="cacheDiagnostics" type="Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsConfigurationSection, Microsoft.ApplicationServer.Caching.AzureCommon" allowLocation="true" allowDefinition="Everywhere" />
  </configSections>
  <dataCacheClients>
    <dataCacheClient name="default">
      <autoDiscover isEnabled="true" identifier="CacheWorkerRole1" />
      <localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />
    </dataCacheClient>
  </dataCacheClients>
  <cacheDiagnostics>
    <crashDump dumpLevel="Off" dumpStorageQuotaInMB="100" />
  </cacheDiagnostics>
</configuration>

configSections

Die folgenden beiden benannten Abschnittselemente sollten der Liste der Abschnitte im configSections-Element hinzugefügt werden.

Name BESCHREIBUNG

dataCacheClients

Definiert das dataCacheClients-Element der Konfigurationsdatei. Dieser Abschnitt gibt die Einstellungen für alle Cacheclientkonfigurationen an.

cacheDiagnostics

Definiert das cacheDiagnostics-Element der Konfigurationsdatei.

Im folgenden Beispiel wird gezeigt, wie diese Abschnitte definiert werden.

    <section name="dataCacheClients" type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core" allowLocation="true" allowDefinition="Everywhere" />
    <section name="cacheDiagnostics" type="Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsConfigurationSection, Microsoft.ApplicationServer.Caching.AzureCommon" allowLocation="true" allowDefinition="Everywhere" />

dataCacheClients

Jedes dataCacheClients-Element enthält ein oder mehrere benannte DataCacheClient-Elemente . Das dataCacheClients-Element verfügt nicht über Attribute. Durch die Möglichkeit, mehrere Cacheclient-Konfigurationsabschnitte zu verwenden, können Anwendungen verschiedene Einstellungen mit verschiedenen Arten von zwischengespeicherten Daten verwenden.

dataCacheClient

Jedes dataCacheClients-Element enthält ein oder mehrere benannte DataCacheClient-Elemente . Der Anwendungscode lädt die Einstellungen für einen Cacheclient, indem er auf den Namen des zugehörigen DataCacheClient-Abschnitts verweist.

Das dataCacheClients-Element verfügt nicht über Attribute. Die untergeordneten DataCacheClient-Elemente weisen jedoch mehrere verfügbare Attribute auf. Eine Beschreibung dieser Attribute finden Sie in der folgenden Tabelle.

attribute BESCHREIBUNG

Name

Der Name der Cacheclientkonfiguration.

isCompressionEnabled

Aktiviert oder deaktiviert Komprimierung. Zulässige Werte: true oder false. Der Standardwert ist false (deaktiviert).

useConnectionPool

Aktiviert oder deaktiviert den Verbindungspool. Mögliche Werte sind true und false. Der Standardwert ist true (aktiviert).

maxConnectionsToServer

Wenn useConnectionPool auf festgelegt trueist, gibt dieses Attribut die Anzahl der Verbindungen im Verbindungspool für diese Cacheclientkonfiguration an. Wenn useConnectionPool auf falsefestgelegt ist, gibt dieses Attribut die Anzahl der Verbindungen an, die für jedes DataCacheFactory-Objekt im Code verwendet werden sollen.

In den folgenden Abschnitten werden die verfügbaren untergeordneten Elemente in jedem dataCacheClient-Element beschrieben.

autoDiscover

Das AutoDiscover-Element unterstützt Cacheclients bei der automatischen Verbindung mit einem Zielcachecluster. Dieser Cachecluster muss von einer Rolle in der gleichen Cloud Service-Bereitstellung gehostet werden.

In der folgenden Tabelle werden die verfügbaren Attribute für das AutoDiscover-Element beschrieben.

attribute BESCHREIBUNG

isEnabled

Legen Sie die lokale automatische Verbindung mit true der Rolle fest, die In-Role Cache gehostet wird, oder um die lokale automatische Verbindung zu aktivieren oder false zu deaktivieren.

identifier

Der Name der Rolle in derselben Clouddienstbereitstellung, die In-Role Cache hostt.

<autoDiscover isEnabled="true" identifier="CacheWorkerRole1" />

localCache

Das localCache-Element steuert die Verwendung des lokalen Caches. Standardmäßig ist der lokale Cache nicht aktiviert. Wenn er aktiviert ist, werden aus dem Cachecluster abgerufene Elemente lokal im Arbeitsspeicher auf dem Clientcomputer gespeichert. Auf diese Weise wird die Leistung nachfolgender Get-Anforderungen verbessert. Das Ergebnis kann jedoch eine Inkonsistenz der Daten zwischen der lokal zwischengespeicherten Version und dem tatsächlichen Element im Cachecluster sein. Weitere Informationen finden Sie unter "Lokaler Cache" in Azure In-Role Cache.

In der folgenden Tabelle werden die verfügbaren Attribute für das localCache-Element beschrieben.

attribute BESCHREIBUNG

isEnabled

Wird auf true oder false festgelegt, um den lokalen Cache zu aktivieren bzw. zu deaktivieren.

sync

Legt fest, wie der lokale Cache invalidiert wird. Mögliche Werte sind TimeoutBased und NotificationBased.

objectCount

Die maximale Anzahl von Objekten, die im lokalen Cache gespeichert werden können. Standard: 10000

ttlValue

Die maximale Anzahl von Sekunden, die Objekte im lokalen Cache verbleiben. Der Standardwert ist 300 Sekunden.

Hinweis

Benachrichtigungen sind ein In-Role Cachefeature, das nur in Caches unterstützt wird, die in Azure-Rollen gehostet werden. Diese Caches müssen für die Aktivierung von Benachrichtigungen konfiguriert sein.

<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />

clientNotification

In der folgenden Tabelle werden die verfügbaren Attribute für das clientNotification-Element beschrieben. Dieses Element steuert das Benachrichtigungsverhalten für den Cacheclient.

attribute BESCHREIBUNG

pollInterval

Die Anzahl von Sekunden zwischen den Abrufversuchen. Der Abrufvorgang wird verwendet, um das Vorhandensein von Benachrichtigungen auf dem Cachecluster zu überprüfen. Der Standardwert beträgt 300 Sekunden.

maxQueueLength

Die maximale Anzahl von Benachrichtigungen, die zwischen Abrufversuchen für diesen Cacheclient in Warteschlangen gespeichert werden. Der Standardwert beträgt 10000 Benachrichtigungen.

<clientNotification pollInterval="60" maxQueueLength="10000"/>

serializationProperties

In der folgenden Tabelle werden die verfügbaren Attribute für das SerializationProperties-Element beschrieben. Dieses Element unterstützt die Wahl zwischen integrierter und benutzerdefinierter Serialisierung für zwischengespeicherte Elemente. Weitere Informationen finden Sie unter Serialisierung in Azure In-Role Cache.

attribute BESCHREIBUNG

serializer

Bestimmt den Serialisierungstyp für zwischengespeicherte Elemente. Mögliche Werte sind NetDataContractSerializer, BinaryFormatter und CustomSerializer. Der Standardwert lautet NetDataContractSerializer.

cacheDiagnostics

In diesem Abschnitt werden einige der Diagnoseeinstellungen für In-Role Cache konfiguriert. Weitere Informationen zur Diagnose finden Sie unter Azure In-Role Cache-Problembehandlung und Diagnose.

In den folgenden Abschnitten werden die verfügbaren untergeordneten Elemente in jedem cacheDiagnostics-Element beschrieben.

crashDump

Das crashDump-Element steuert den Typ der Absturzabbilder, die für diese Anwendung gesammelt werden. In-Role Absturzabbilder des Caches sind hauptsächlich für die Diagnose von Problemen mit Cacheclustercomputern ausgelegt. Aus diesem Grund sollten Clientkonfigurationsdateien die Generierung von Absturzabbildern deaktivieren. Dies kann durch Festlegen des DumpLevel-AttributsOffauf .

Wenn Absturzabbilder aktiviert sind, sollten der lokale Cachespeicher und der Diagnosespeicher in ServiceDefinition.csdef so angepasst werden, dass die Größe immer die Summe des Absturzspeicherkontingents und des Protokollspeicherkontingents übersteigt, die in CacheSettings.xml konfiguriert ist (die Standardwerte sind 1.000 MB).

In der folgenden Tabelle werden die verfügbaren Attribute für das CrashDump-Element beschrieben.

attribute BESCHREIBUNG

dumpLevel

Mögliche Werte sind Off, Mini und Full.

dumpStorageQuotaInMB

Die maximale Speichermenge, die für Absturzabbilder reserviert werden soll.

scheduledTransferPeriodInMinutes

Die Anzahl der Minuten zwischen Übertragungen der Absturzabbilder an den Diagnosespeicher.

<crashDump dumpLevel="Off" dumpStorageQuotaInMB="100" scheduledTransferPeriodInMinutes="5" />