Impostazioni di configurazione dell'applicazione (Memorizzazione nella cache di AppFabric 1.1)
Con le funzionalità di memorizzazione nella cache di Microsoft AppFabric 1.1 per Windows Server è possibile configurare le impostazioni dei client della cache dell'applicazione a livello di programmazione, mediante un file di configurazione dell'applicazione o utilizzando entrambi gli approcci in punti diversi dell'applicazione. Per ulteriori informazioni su ciascuno di questi metodi di configurazione e su come selezionarli, vedere Configurazione di un client della cache.
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 del client basata su XML.
Impostazione del client della cache
Ciascun client della cache contiene impostazioni di configurazione definite. Se si utilizza un file di configurazione, tali impostazioni sono incluse in una o più sezioni dataCachClient
che possono essere incorporate in una sezione dataCacheClients
. Ad esempio:
<dataCacheClients>
<dataCacheClient name="default">
<hosts>
<host name="CacheServer1" cachePort="22233" />
<host name="CacheServer2" cachePort="22233" />
</hosts>
</dataCacheClient>
<dataCacheClient name="compressedCache" isCommpressionEnabled="true">
<hosts>
<host name="CacheServer1" cachePort="22233" />
<host name="CacheServer2" cachePort="22233" />
</hosts>
</dataCacheClient>
</dataCacheClients>
Nel file di configurazione del precedente esempio sono presenti due client della cache: default
e compressedCache
. Per accedere alla cache predefinita, non deve essere specificato il nome del relativo client. Ad esempio:
DataCacheFactory factory = new DataCacheFactory();
Per specificare una qualsiasi altra sezione dataCacheClient
denominata, è necessario specificare il nome di tale sezione del client della cache utilizzando il costruttore DataCacheFactoryConfiguration.
DataCacheFactoryConfiguration factoryConfig = new DataCacheFactoryConfiguration("compressedCache");
DataCacheFactory factory = new DataCacheFactory(factoryConfig)
Se non si utilizza un file di configurazione dell'applicazione, è possibile definire tutte le impostazioni a livello di programmazione con le proprietà della classe DataCacheFactoryConfiguration.
Impostazione | Percorso della configurazione XML | Percorso della configurazione del codice |
---|---|---|
Compressione (booleano) |
Attributo |
Proprietà IsCompressionEnabled della classe DataCacheFactoryConfiguration. |
Timeout del client (millisecondi) |
Attributo |
Proprietà RequestTimeout della classe DataCacheFactoryConfiguration. |
Timeout aperto del canale (millisecondi) |
Attributo |
Proprietà ChannelOpenTimeout della classe DataCacheFactoryConfiguration. |
Numero massimo di connessioni al server |
Attributo |
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 AppFabric (Memorizzazione nella cache di AppFabric 1.1).
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 |
Proprietà HostName della classe DataCacheServerEndpoint. |
Numero di porta della cache |
Attributo |
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 della cache e cache locale (Memorizzazione nella cache di AppFabric 1.1).
Impostazione | Percorso della configurazione XML | Percorso della configurazione del codice |
---|---|---|
Cache locale abilitata |
Attributo |
Proprietà IsEnabled della classe DataCacheLocalCacheProperties. Questa viene assegnata alla proprietà LocalCacheProperties della classe DataCacheFactoryConfiguration. |
Metodo di invalidazione della cache locale |
Attributo |
Proprietà InvalidationPolicy della classe DataCacheLocalCacheProperties. I possibili valori includono NotificationBased e TimeoutBased. |
Timeout della cache locale (secondi) |
Attributo |
Proprietà DefaultTimeout della classe DataCacheLocalCacheProperties. |
Intervallo specifico di polling per le notifiche cache (secondi) |
(facoltativo) Specificato dall'attributo |
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 |
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.
Impostazione | Percorso di configurazione XML | Percorso della configurazione del codice |
---|---|---|
Intervallo specifico di polling per le notifiche della cache (secondi) |
Specificato dall'attributo |
Proprietà PollInterval della classe DataCacheNotificationProperties. Viene assegnata alla proprietà NotificationProperties della classe DataCacheFactoryConfiguration. |
Massima lunghezza coda |
Attributo |
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.
Impostazione | Percorso di configurazione XML | Percorso della configurazione del codice |
---|---|---|
Modalità |
Attributo |
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 |
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.
Impostazione | Percorso di configurazione XML | Percorso della configurazione del codice |
---|---|---|
Dimensione del buffer di connessione (byte) |
Attributo |
Proprietà ConnectionBufferSize della classe DataCacheTransportProperties. Viene assegnata alla proprietà TransportProperties della classe DataCacheFactoryConfiguration. |
Dimensione massima pool di buffer (byte) |
Attributo |
Proprietà MaxBufferPoolSize della classe DataCacheTransportProperties. |
Dimensione massima buffer (byte) |
Attributo |
Proprietà MaxBufferSize della classe DataCacheTransportProperties. |
Ritardo massimo output (millisecondi) |
Attributo |
Proprietà MaxOutputDelay della classe DataCacheTransportProperties. |
Timeout inizializzazione canale (millisecondi) |
Attributo |
Proprietà ChannelInitializationTimeout della classe DataCacheTransportProperties. |
Timeout ricezione (millisecondi) |
Attributo |
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 configSections
venga inserito come primo elemento del file nel 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
Configurazione di un client della cache
Impostazioni di configurazione del cluster
Risoluzione dei problemi relativi alla memorizzazione nella cache di AppFabric
Utilizzo di Windows PowerShell per la gestione delle funzionalità di memorizzazione nella cache di AppFabric 1.1
Concetti di memorizzazione nella cache di AppFabric (Memorizzazione nella cache di AppFabric 1.1)
Sviluppo di un client della cache
2012-03-05