Share via


Impostazioni di configurazione del client di Cache nel ruolo (Web.config)

Importante

Microsoft consiglia tutti i nuovi sviluppi che usano Cache Redis di Azure. Per la documentazione e le indicazioni correnti sulla scelta di un'offerta di Cache di Azure, vedere Quale offerta di Cache di Azure è adatta per l'utente?

Questo argomento descrive i requisiti per supportare In-Role Cache in un web.config di .NET Framework o app.config file di configurazione. Illustra inoltre le opzioni di configurazione disponibili per i client della cache. Le impostazioni descritte in questo argomento sono necessarie solo dai client della cache; non sono necessari per i ruoli che ospitano In-Role Cache.

Suggerimento

Quando si usa il pacchetto NuGet per In-Role Cache, il pacchetto modifica automaticamente il file di configurazione. È tuttavia possibile usare questo argomento per configurare i client cache In-Role senza l'uso di NutGet. È inoltre possibile fare riferimento a queste informazioni per personalizzare ulteriormente le impostazioni del client della cache inserite automaticamente da NuGet.

Questo argomento descrive le seguenti sezioni.

  • <configSections>

  • <dataCacheClients>

    • <dataCacheClient>

      • <Autodiscover>

      • <localCache>

      • <clientNotification>

      • <serializationProperties>

  • <cacheDiagnostics>

    • <crashDump>

Esempio di configurazione del client della cache

Nell'esempio seguente vengono illustrate le sezioni di un file web.config o app.config rilevanti per In-Role Cache. In questo esempio il client della cache default accede alle cache ospitate dal ruolo CacheWorkerRole1 e la cache locale è abilitata.

<?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

I due elementi di sezione denominati seguenti devono essere aggiunti all'elenco delle sezioni nell'elemento configSections .

Nome Descrizione

dataCacheClients

Definisce l'elemento dataCacheClients del file di configurazione. Questa sezione specifica le impostazioni per tutte le configurazioni del client della cache.

cacheDiagnostics

Definisce l'elemento cacheDiagnostics del file di configurazione.

Il seguente esempio illustra come definire queste sezioni.

    <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

Ogni elemento dataCacheClients contiene uno o più elementi dataCacheClient denominati. L'elemento dataCacheClients non ha attributi. La presenza di più sezioni di configurazione del client della cache consente alle applicazioni di usare diverse impostazioni con tipi diversi di dati memorizzati nella cache.

dataCacheClient

Ogni elemento dataCacheClients contiene uno o più elementi dataCacheClient denominati. Il codice applicazione carica le impostazioni per un client della cache facendo riferimento al nome della sezione dataCacheClient associata.

L'elemento dataCacheClients non ha attributi. Tuttavia, gli elementi dataCacheClient figlio hanno diversi attributi disponibili. descritti nella seguente tabella.

Attributo Descrizione

Nome

Nome della configurazione del client della cache.

isCompressionEnabled

Abilita o disabilita la compressione. I valori possibili includono true o false. Il valore predefinito è false (disabilitato).

useConnectionPool

Abilita o disabilita il pool di connessioni. I possibili valori includono true o false. Il valore predefinito è true (abilitato).

maxConnectionsToServer

Quando si usaConnectionPool è impostato su true, questo attributo specifica il numero di connessioni nel pool di connessioni per questa configurazione client della cache. Quando useConnectionPool è impostato su false, questo attributo specifica il numero di connessioni da usare per ogni oggetto DataCacheFactory nel codice.

Le sezioni seguenti descrivono gli elementi figlio disponibili all'interno di ogni elemento dataCacheClient .

autoDiscover

L'elemento autoDiscover aiuta i client della cache a connettersi automaticamente a un cluster della cache di destinazione. È necessario che questo cluster di cache sia ospitato da un ruolo che fa parte della stessa distribuzione del servizio cloud.

Nella tabella seguente vengono descritti gli attributi disponibili per l'elemento autoDiscover .

Attributo Descrizione

Isenabled

Impostare su true o false per abilitare o disabilitare la connessione automatica locale al ruolo che ospita In-Role Cache.

identifier

Nome del ruolo nella stessa distribuzione del servizio cloud che ospita In-Role Cache.

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

localCache

L'elemento localCache controlla l'uso della cache locale. Per impostazione predefinita, la cache locale non è abilitata. Se è abilitata, gli elementi recuperati dal cluster di cache vengono archiviati localmente nella memoria del computer client. Questo consente di migliorare le prestazioni delle successive richieste get, ma è possibile che si verifichi un'incoerenza tra i dati della versione memorizzata nella cache locale e quelli dell'elemento effettivo nel cluster di cache. Per altre informazioni, vedere Cache locale in Cache In-Role di Azure.

Nella tabella seguente vengono descritti gli attributi disponibili per l'elemento localCache .

Attributo Descrizione

Isenabled

Impostare l'attributo su true o false per abilitare o disabilitare la cache locale.

Sincronizzazione

Determina la modalità di invalidamento della cache locale. I valori possibili sono TimeoutBased e NotificationBased.

objectCount

Numero massimo di oggetti che si possono archiviare nella cache locale. Il valore predefinito è 10000.

ttlValue

Numero di secondi di permanenza degli oggetti nella cache locale. Il valore predefinito è 300 secondi.

Nota

Le notifiche sono una funzionalità di cache In-Role supportata solo nelle cache ospitate nei ruoli di Azure. Per abilitare le notifiche, è necessario configurare queste cache.

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

clientNotification

Nella tabella seguente vengono descritti gli attributi disponibili per l'elemento clientNotification . Questo elemento è responsabile del controllo del comportamento delle notifiche per il client della cache.

Attributo Descrizione

pollInterval

Numero di secondi tra i tentativi di polling. Il polling viene usato per la verifica delle notifiche nel cluster di cache. Il valore predefinito è 300 secondi.

maxQueueLength

Numero massimo di notifiche in coda per questo client della cache tra i tentativi di polling. Il valore predefinito è 10000 notifiche.

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

serializationProperties

Nella tabella seguente vengono descritti gli attributi disponibili per l'elemento serializationProperties . Questo elemento consente di scegliere tra una serializzazione predefinita o personalizzata per gli elementi memorizzati nella cache. Per altre informazioni, vedere Serializzazione in Cache In-Role di Azure.

Attributo Descrizione

serializer

Determina il tipo di serializzazione per gli elementi memorizzati nella cache. I valori possibili sono NetDataContractSerializer, BinaryFormatter e CustomSerializer. Il valore predefinito è NetDataContractSerializer.

cacheDiagnostics

Questa sezione configura alcune impostazioni di diagnostica per In-Role Cache. Per altre informazioni sulla diagnostica, vedere Risoluzione dei problemi e diagnostica della cache di Azure In-Role.

Le sezioni seguenti descrivono gli elementi figlio disponibili all'interno di ogni elemento cacheDiagnostics .

crashDump

L'elemento crashDump controlla il tipo di dump di arresto anomalo raccolti per questa applicazione. In-Role i dump di arresto anomalo della cache sono progettati principalmente per diagnosticare i problemi relativi ai computer del cluster della cache. Per questo motivo, è necessario che i file di configurazione del client disabilitino la generazione di dump di arresto anomalo del sistema. A tale scopo, impostare l'attributo dumpLevel su Off.

Se i dump di arresto anomalo del sistema sono abilitati, l'archivio locale della memorizzazione nella cache e l'archivio della diagnostica devono essere impostati nel file ServiceDefinition.csdef in modo che la dimensione sia sempre maggiore della somma della quota di archiviazione relativa all'arresto anomalo del sistema e di quella relativa ai log. È possibile configurare questi valori nel file CacheSettings.xml (i valori predefiniti sono 1000 MB).

Nella tabella seguente vengono descritti gli attributi disponibili per l'elemento crashDump .

Attributo Descrizione

dumpLevel

Tra i possibili valori sono compresi Off, Mini e Full.

dumpStorageQuotaInMB

Quantità massima di spazio di archiviazione da allocare per i dump di arresto anomalo del sistema.

scheduledTransferPeriodInMinutes

Numero di minuti tra i trasferimenti dei dump di arresto anomalo del sistema all'archivio di diagnostica.

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