Abilitare la cache locale di AppFabric 1.1

Microsoft AppFabric 1.1 per Windows Server offre la possibilità di configurare un client della cache a livello di programmazione o mediante un file di configurazione dell'applicazione. Nelle procedure seguenti viene descritto come abilitare la cache locale sul client cache a livello di programmazione. Per informazioni sull'esecuzione di questa operazione con il file di configurazione dell'applicazione, vedere Abilitare la cache locale (XML).

Nei passaggi seguenti viene descritto il processo richiesto per abilitare la cache locale a livello di programmazione per il client cache:

  1. Creare un'istanza della classe DataCacheLocalCacheProperties. Configurare la cache locale passando i valori corretti ai parametri del costruttore, tra cui objectCount, defaultTimeout e invalidationPolicy.

  2. Passare l'oggetto DataCacheLocalCacheProperties al costruttore di un nuovo oggetto DataCacheFactory.

  3. Utilizzare l'oggetto DataCacheFactory per richiamare il metodo GetCache per la creazione di un client cache che utilizzi la cache locale.

WarningAvviso
Ai fini di queste procedure, si presuppone che l'ambiente di sviluppo sia già stato preparato e che i riferimenti agli assembly di memorizzazione nella cache di AppFabric siano stati definiti. Per ulteriori informazioni, vedere Preparazione dell'ambiente di sviluppo del client della cache (Memorizzazione nella cache di AppFabric 1.1).

Per creare un client cache su cui sia abilitata la cache locale

  1. Creare una matrice di oggetti DataCacheServerEndpoint per specificare gli host della cache per il client.

  2. Creare un'istanza della classe DataCacheLocalCacheProperties. Configurare la cache locale passando i valori corretti ai parametri del costruttore.

    1. Utilizzare il parametro objectCount per specificare il numero massimo di oggetti nella cache locale.

    2. Utilizzare il parametro defaultTimeout per specificare un oggetto System.TimeSpan che determini il periodo di permanenza di un oggetto nella cache locale prima di venire invalidato.

    3. Utilizzare il parametro invalidationPolicy per specificare come invalidare gli oggetti memorizzati nella cache a livello locale. Specificare il valore DataCacheLocalCacheInvalidationPolicy.TimeoutBased per indicare che deve essere utilizzato solo il valore di timeout. Specificare DataCacheLocalCacheInvalidationPolicy.NotificationBased per indicare che verranno utilizzate anche le notifiche della cache oltre ai timeout. Per ulteriori informazioni, vedere Client della cache e cache locale (Memorizzazione nella cache di AppFabric 1.1)

  3. Se è stato scelto il valore DataCacheLocalCacheInvalidationPolicy.NotificationBased come criterio di invalidamento, sarà possibile controllare facoltativamente la frequenza di comunicazione del client cache con il cluster di cache per notifiche di aggiornamento degli oggetti memorizzati nella cache a livello locale. A tale scopo, creare un'istanza della classe DataCacheNotificationProperties. Configurare le impostazioni di notifica passando i valori corretti ai parametri del costruttore.

    1. Utilizzare il parametro PollInterval per specificare un oggetto System.Timespan per l'intervallo di frequenza durante il quale il client cache controllerà eventuali notifiche cache nel cluster di cache. Si noti che non è richiesta la cache locale per le notifiche cache. Per ulteriori informazioni, vedere Notifiche cache (Memorizzazione nella cache di AppFabric 1.1).

    2. Il parametro MaxQueueLength controlla la lunghezza della coda delle notifiche, ma non interessa la cache locale. Il valore predefinito è 10000.

  4. Creare un'istanza della classe DataCacheFactoryConfiguration.

  5. Configurare gli host della cache assegnando la matrice di host della cache del primo passaggio alla proprietà Servers dell'oggetto DataCacheFactoryConfiguration.

  6. Configurare la cache locale assegnando l'oggetto DataCacheLocalCachePropertiesdell'oggetto creato nel secondo passaggio alla proprietà LocalCacheProperties dell'oggetto DataCacheFactoryConfiguration.

  7. Se necessario, configurare le proprietà di notifica assegnando l'oggetto DataCacheLocalCacheProperties dell'oggetto creato nel terzo passaggio alla proprietà NotificationProperties dell'oggetto DataCacheFactoryConfiguration.

  8. Passare l'oggetto DataCacheFactoryConfiguration al costruttore della classe DataCacheFactory.

  9. Utilizzare il metodo GetCache per ottenere una classe DataCache basata sulle impostazioni dell'oggetto DataCacheFactoryConfiguration.

noteNota
Se è stato scelto il valore DataCacheLocalCacheInvalidationPolicy.NotificationBased per il criterio di invalidamento della cache locale, sarà necessario configurare la cache di destinazione con le notifiche abilitate. Per ulteriori informazioni, vedere Utilizzo di Windows PowerShell per la gestione delle funzionalità di memorizzazione nella cache di AppFabric 1.1.

Esempio

In questo esempio viene illustrata la configurazione a livello di programmazione di un client cache con la cache locale abilitata. Il client è configurato per l'utilizzo di una cache denominata NamedCache1 e per puntare a un server di cache denominato CacheServer2.. Per utilizzare l'esempio nella propria applicazione, sostituire le proprietà del server indicate nell'esempio con quelle dei server di cache in uso. Aggiungere ulteriori oggetti DataCacheServerEndPoint alla matrice di server per ognuno degli altri host della cache presenti nel cluster.

Specificare gli host della cache designati come host principali. In genere, gli host principali sono i primi server di 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). Per determinare quali host siano principali, utilizzare lo strumento di amministrazione di Windows PowerShell. Per ulteriori informazioni su Windows PowerShell, vedere Utilizzo di Windows PowerShell per la gestione delle funzionalità di memorizzazione nella cache di AppFabric 1.1. Per prima cosa, verrà creata la matrice di server. In questo esempio si configura un host della cache denominato CacheServer2.

// Declare array for cache host(s).
DataCacheServerEndpoint[] servers = new DataCacheServerEndpoint[1];
servers[0] = new DataCacheServerEndpoint("CacheServer2", 22233);

Viene quindi creato un oggetto DataCacheLocalCacheProperties. In questo esempio, la cache locale viene creata con un numero di oggetto pari a 10000 e un valore di timeout pari a 30 secondi.

// Set the local cache properties. In this example, it
// is timeout-based with a timeout of 30 seconds.
DataCacheLocalCacheProperties localCacheConfig;
TimeSpan localTimeout = new TimeSpan(0, 0, 30);

localCacheConfig = new DataCacheLocalCacheProperties(10000, 
   localTimeout, DataCacheLocalCacheInvalidationPolicy.TimeoutBased);

Viene quindi creato un oggetto DataCacheFactoryConfiguration. Assegnare la matrice servers alla proprietà Servers. Assegnare l'oggetto localCacheConfig alla proprietà LocalCacheProperties.

// Setup the DataCacheFactory configuration.
DataCacheFactoryConfiguration factoryConfig = 
   new DataCacheFactoryConfiguration();

factoryConfig.Servers = servers;
factoryConfig.LocalCacheProperties = localCacheConfig;

A questo punto, passare l'oggetto DataCacheFactoryConfiguration al costruttore di classi DataCacheFactory e creare un'istanza del client cache con il metodo GetCache. In questo esempio viene creato un client cache per una cache denominata NamedCache1.

// Create a configured DataCacheFactory object.
DataCacheFactory mycacheFactory = new DataCacheFactory(factoryConfig);

// Get a cache client for the cache "NamedCache1".
DataCache myDefaultCache = mycacheFactory.GetCache("NamedCache1");
noteNota
Per ottenere prestazioni ottimali, è consigliabile ridurre al minimo il numero di oggetti DataCacheFactory creati in un'applicazione abilitata alla cache. Archiviare l'oggetto DataCacheFactory in una variabile che sia disponibile per tutte le parti dell'applicazione che utilizzano i client cache.

Vedere anche

  2012-03-05
Mostra: