Impostazioni di configurazione dell'applicazione (Memorizzazione nella cache di Windows Server AppFabric)

Le funzionalità di memorizzazione nella cache di Windows Server AppFabric consentono di configurare le impostazioni del client della cache dell'applicazione a livello di programmazione, utilizzando un file di configurazione dell'applicazione o con entrambi gli approcci in percorsi diversi dell'applicazione. Per ulteriori informazioni su ciascuno di questi metodi di configurazione e su come selezionarli, vedere Opzioni di configurazione del client (Memorizzazione nella cache di Windows Server AppFabric).

Indipendentemente dall'approccio adottato, l'impostazione del client della cache che si configura è la stessa. Le tabelle presenti in questo argomento riportano le impostazioni disponibili per il client della cache e indicano come vengono configurate nel file di configurazione dell'applicazione basato su XML e a livello di programmazione utilizzando il codice.

Per ulteriori informazioni sull'utilizzo di queste impostazioni nell'applicazione, vedere gli esempi forniti in Configurazione di client basati su XML (Memorizzazione nella cache di Windows Server AppFabric).

Impostazione del client della cache

Impostazione Percorso della configurazione XML Percorso della configurazione del codice

Timeout del client (millisecondi)

Attributo requestTimeout dell'elemento dataCacheClient. Non è consigliabile specificare un valore inferiore a 10000 (10 secondi). Il valore predefinito è 15000.

Proprietà RequestTimeout della classe DataCacheFactoryConfiguration.

Timeout aperto del canale (millisecondi)

Attributo channelOpenTimeout dell'elemento dataCacheClient. Questo valore può essere impostato su 0 per gestire immediatamente qualsiasi problema di rete. Per ulteriori informazioni, vedere Configurazione dei timeout del client cache (Memorizzazione nella cache di Windows Server AppFabric). Il valore predefinito è 3000.

Proprietà ChannelOpenTimeout della classe DataCacheFactoryConfiguration.

Numero massimo di connessioni al server

Attributo maxConnectionsToServer dell'elemento dataCacheClient. Il valore predefinito è 1.

Proprietà MaxConnectionsToServer della classe DataCacheFactoryConfiguration.

Impostazioni dell'host della cache

Per ogni client della cache è necessario specificare uno o più host della cache nel cluster. Specificare gli host principali, poiché gli host della cache designati come host principali semplificano la gestione del cluster. Inizialmente, gli host principali sono i primi host della cache installati nel cluster. Per ulteriori informazioni sugli host principali, vedere Diagramma dell'architettura fisica della memorizzazione nella cache di Windows Server AppFabric.

Nel file di configurazione dell'applicazione, le impostazioni per ogni host della cache sono specificate in un elemento dell'host, figlio dell'elemento hosts. A livello di programmazione, ogni host viene definito nel costruttore di classe della classe DataCacheServerEndpoint. Dopo la creazione della relativa istanza, questi oggetti DataCacheServerEndPoint vengono passati alla proprietà Servers della classe DataCacheServerEndpoint.

Impostazione Percorso della configurazione XML Percorso della configurazione del codice

Nome del server della cache

Attributo name dell'elemento host.

Proprietà HostName della classe DataCacheServerEndpoint.

Numero di porta della cache

Attributo cachePort dell'elemento host.

Proprietà CachePort della classe DataCacheServerEndpoint.

Impostazioni della cache locale

Le impostazioni della cache locale specificano se è necessario abilitare una cache locale, la modalità di invalidazione degli oggetti memorizzati nella cache a livello locale, il timeout degli oggetti e se per invalidare gli oggetti memorizzati nella cache a livello locale occorra utilizzare le notifiche cache.

Nel file di configurazione dell'applicazione le impostazioni della cache locale sono definite nell'elemento localCache, figlio dell'elemento dataCacheClient. La cache locale è configurata a livello di codice con un'istanza della classe DataCacheFactoryConfiguration passata al costruttore del costruttore di classi DataCacheFactory. Per ulteriori informazioni sulla cache locale, vedere Client cache e cache locale (Memorizzazione nella cache di AppFabric).

Impostazione Percorso della configurazione XML Percorso della configurazione del codice

Cache locale abilitata

Attributo isEnabled dell'elemento localCache. I valori possono essere true o false. L'elemento localCache può risultare mancante, a indicare che è disabilitato.

Proprietà IsEnabled della classe DataCacheLocalCacheProperties. Questa viene assegnata alla proprietà LocalCacheProperties della classe DataCacheFactoryConfiguration.

Metodo di invalidazione della cache locale

Attributo sync dell'elemento localCache. Utilizzare il valore TimeoutBased per indicare che è necessario ricorrere a un valore di timeout. Utilizzare NotificationBased per indicare che è necessario utilizzare anche le notifiche della cache.

Proprietà InvalidationPolicy della classe DataCacheLocalCacheProperties. I possibili valori includono NotificationBased e TimeoutBased.

Timeout della cache locale (secondi)

Attributo ttlValue dell'elemento localCache.

Proprietà DefaultTimeout della classe DataCacheLocalCacheProperties.

Intervallo specifico di polling per le notifiche cache (secondi)

(facoltativo) Specificato dall'attributo pollInterval dell'elemento clientNotification. L'elemento clientNotification è figlio dell'elemento dataCacheClient e non dell'elemento localCache. Se non diversamente specificato, occorre utilizzare un valore pari a 300 secondi.

Proprietà PollInterval della classe DataCacheNotificationProperties. Questa viene assegnata alla proprietà NotificationProperties della classe DataCacheFactoryConfiguration.

Conteggio massimo degli oggetti memorizzati nella cache a livello locale

(facoltativo) Specificato dall'attributo objectCount dell'elemento localCache. Viene attivato quando deve iniziare l'eliminazione nella cache locale. Viene quindi tentata la rimozione del 20% degli oggetti memorizzati nella cache locale utilizzati meno di recente. Se non è specificato, viene utilizzato il valore predefinito di 10.000 oggetti.

Proprietà ObjectCount della classe DataCacheLocalCacheProperties.

Nota

Per ottenere prestazioni migliori, abilitare la cache locale solo per gli oggetti che cambiano raramente. L'utilizzo della cache locale per la memorizzazione degli oggetti che vengono modificati più spesso aumenta le probabilità che il client utilizzi oggetti obsoleti. Sebbene sia possibile ridurre il ttlValue e impostare un processo in grado di aggiornare la cache locale con maggiore frequenza, l'incremento del carico sul cluster può annullare i vantaggi offerti dalla disponibilità di una cache locale. Se i dati vengono modificati spesso, è consigliabile disabilitare la cache locale ed estrarre i dati direttamente dal cluster.

Impostazioni di notifica

Nel file di configurazione dell'applicazione le proprietà della notifica sono definite nell'elemento clientNotification, figlio dell'elemento dataCacheClient. Le proprietà della notifica sono configurate a livello di codice con un'istanza della classe DataCacheFactoryConfiguration passata al costruttore del costruttore di classi DataCacheFactory. Per ulteriori informazioni, vedere Metodi di configurazione (Memorizzazione nella cache di Windows Server AppFabric).

Impostazione Percorso di configurazione XML Percorso della configurazione del codice

Intervallo specifico di polling per le notifiche della cache (secondi)

Specificato dall'attributo pollInterval dell'elemento clientNotification. Se non specificato, viene utilizzato un valore di 300 secondi.

Proprietà PollInterval della classe DataCacheNotificationProperties. Viene assegnata alla proprietà NotificationProperties della classe DataCacheFactoryConfiguration.

Massima lunghezza coda

Attributo maxQueueLength dell'elemento clientNotification. Se non è specificato, il valore predefinito è 10000.

Proprietà MaxQueueLength della classe DataCacheNotificationProperties.

Impostazioni di sicurezza

Nel file di configurazione dell'applicazione le proprietà di sicurezza sono definite nell'elemento securityProperties, figlio dell'elemento dataCacheClient. Le proprietà di sicurezza sono configurate a livello di codice con un'istanza della classe DataCacheFactoryConfiguration passata al costruttore del costruttore di classi DataCacheFactory. Per ulteriori informazioni, vedere Metodi di configurazione (Memorizzazione nella cache di Windows Server AppFabric).

Impostazione Percorso di configurazione XML Percorso della configurazione del codice

Modalità

Attributo mode dell'elemento securityProperties. I possibili valori comprendono Transport e None. Il valore predefinito è Transport.

Proprietà SecurityMode della classe DataCacheSecurity. I possibili valori comprendono None e Transport. L'oggetto DataCacheSecurity viene quindi assegnato alla proprietà SecurityProperties della classe DataCacheFactoryConfiguration.

Livello di sicurezza

Attributo protectionLevel dell'elemento securityProperties. I valori possibili comprendono None, Sign e EncryptAndSign. Il valore predefinito è EncryptAndSign.

Proprietà ProtectionLevel della classe DataCacheSecurity. I valori possibili comprendono None, Sign e EncryptAndSign.

Impostazioni del trasporto

Nel file di configurazione dell'applicazione le proprietà del trasporto sono definite nell'elemento transportProperties, figlio dell'elemento dataCacheClient. Le proprietà del trasporto sono configurate a livello di codice con un'istanza della classe DataCacheFactoryConfiguration passata al costruttore del costruttore di classi DataCacheFactory. Per ulteriori informazioni, vedere Metodi di configurazione (Memorizzazione nella cache di Windows Server AppFabric).

Impostazione Percorso di configurazione XML Percorso della configurazione del codice

Dimensione del buffer di connessione (byte)

Attributo connectionBufferSize dell'elemento transportProperties.

Proprietà ConnectionBufferSize della classe DataCacheTransportProperties. Viene assegnata alla proprietà TransportProperties della classe DataCacheFactoryConfiguration.

Dimensione massima pool di buffer (byte)

Attributo maxBufferPoolSize dell'elemento transportProperties.

Proprietà MaxBufferPoolSize della classe DataCacheTransportProperties.

Dimensione massima buffer (byte)

Attributo maxBufferSize dell'elemento transportProperties.

Proprietà MaxBufferSize della classe DataCacheTransportProperties.

Ritardo massimo output (millisecondi)

Attributo maxOutputDelay dell'elemento transportProperties.

Proprietà MaxOutputDelay della classe DataCacheTransportProperties.

Timeout inizializzazione canale (millisecondi)

Attributo channelInitializationTimeout dell'elemento transportProperties.

Proprietà ChannelInitializationTimeout della classe DataCacheTransportProperties.

Timeout ricezione (millisecondi)

Attributo receiveTimeout dell'elemento transportProperties.

Proprietà ReceiveTimeout della classe DataCacheTransportProperties.

File di configurazione dell'applicazione di esempio

Per consentire agli assembly di AppFabric di leggere gli elementi XML presenti nel file di configurazione dell'applicazione, è necessario che l'elemento configSections sia inserito come primo elemento del file sotto il tag configuration. All'interno dell'elemento configSections è necessario includere un elemento section associato all'elemento dataCacheClient.

Nell'esempio riportato un esempio viene presentato un file di configurazione dell'applicazione in cui sono utilizzate molte delle opzioni di configurazione del client della cache descritte in questo argomento. È importante notare che per il collegamento al cluster solo l'elemento hosts è obbligatorio in dataCacheClient. Tutti gli altri elementi figlio hanno valori predefiniti

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
   <!--configSections must be the FIRST element -->
<configSections>
   <!-- required to read the <dataCacheClient> element -->
   <section name="dataCacheClient"
         type="Microsoft.ApplicationServer.Caching.DataCacheClientSection,
            Microsoft.ApplicationServer.Caching.Core, Version=1.0.0.0, 
            Culture=neutral, PublicKeyToken=31bf3856ad364e35"
          allowLocation="true"
          allowDefinition="Everywhere"/>
</configSections>

   <dataCacheClient requestTimeout="15000" channelOpenTimeout="3000" maxConnectionsToServer="1">
      <localCache isEnabled="true" sync="TimeoutBased" ttlValue="300" objectCount="10000"/>
      <clientNotification pollInterval="300" maxQueueLength="10000"/>
      <hosts>
         <host name="CacheServer1" cachePort="22233"/>
         <host name="CacheServer2" cachePort="22233"/>
      </hosts>
      <securityProperties mode="Transport" protectionLevel="EncryptAndSign" />
      <transportProperties connectionBufferSize="131072" maxBufferPoolSize="268435456" 
                           maxBufferSize="8388608" maxOutputDelay="2" channelInitializationTimeout="60000" 
                           receiveTimeout="600000"/>
   </dataCacheClient>
</configuration>

Vedere anche

Concetti

Opzioni di configurazione del client (Memorizzazione nella cache di Windows Server AppFabric)
Impostazioni di configurazione cluster (Memorizzazione nella cache di Windows Server AppFabric)
Risoluzione dei problemi relativi alla memorizzazione nella cache di Windows Server AppFabric
Utilizzo di Windows PowerShell per la gestione delle funzionalità di Memorizzazione nella cache di Windows Server AppFabric
Concetti di memorizzazione nella cache di AppFabric
Sviluppo di un client cache (Memorizzazione nella cache di Windows Server AppFabric)

  2011-12-05