Configurazione dei timeout del client della cache

Le funzionalità di Memorizzazione nella cache di Microsoft AppFabric 1.1 per Windows Server consentono di configurare la lunghezza dei timeout del client della cache. È possibile controllare la lunghezza dell'attesa di una risposta dal cluster di cache. In questo argomento vengono illustrati due tipi di timeout: i timeout di apertura del canale e i timeout richiesta.

Alcuni applicazioni ottengono dei vantaggi nelle prestazioni impostando durate brevi per i timeout e quindi gestendo gli errori di timeout in modo appropriato. Altre applicazioni preferiscono durate di timeout relativamente lunghe, in modo da ridurre la frequenza di questi errori.

I timeout descritti in questo caso non si applicano alla connessione iniziale al cluster della cache. La connessione iniziale si verifica quando viene creato un nuovo oggetto DataCacheFactory. Durante questa connessione, viene effettuato un tentativo di comunicare con il cluster tramite uno o più server specificati nella proprietà Servers o nell'elemento hosts del file di configurazione dell'applicazione. Qualsiasi problema di rete o cluster durante la comunicazione con tali server potrebbe causare un ritardo nella creazione della connessione iniziale. Per limitare tale ritardo, creare l'oggetto DataCacheFactory in un thread secondario. A seconda del modello di programmazione, l'applicazione è in grado di funzionare senza cache utilizzando i dati di origine finché non viene stabilita la connessione al cluster della cache.

ChannelOpenTimeout

Se si supera la durata di un timeout di apertura del canale, viene generata un'eccezione DataCacheException con ErrorCode impostato su RetryLater. L'impostazione di configurazione ChannelOpenTimeout controlla il tempo di attesa da parte del client della cache per stabilire una connessione di rete con il server. È possibile decidere di impostare questo timeout su 0 se si desidera che eventuali errori vengano restituiti al client immediatamente.

Per modificare questa impostazione a livello di programmazione, configurare la proprietà ChannelOpenTimeout dell'oggetto DataCacheFactoryConfiguration.

Per controllare questa impostazione con un file di configurazione dell'applicazione, specificare la durata del timeout in millisecondi con l'attributo channelOpenTimeout per l'elemento dataCacheClient.

RequestTimeout

Se si supera la durata di un timeout di una richiesta, viene generata un'eccezione DataCacheException con ErrorCode impostato su Timeout. L'impostazione di configurazione RequestTimeout controlla il tempo di attesa da parte del client della cache per ricevere una risposta dal server da una specifica chiamata API. Ad esempio, se è stato chiamato il metodo Get per recuperare un oggetto dalla cache, il timeout di richiesta determinerà il tempo di attesa di una risposta da parte del client della cache prima che venga generata un'eccezione. A differenza di ChannelOpenTimeout, RequstTimeout non deve essere impostato su 0, in quanto ciò causa un errore di timeout su ogni chiamata al server.

Per modificare questa impostazione a livello di programmazione, configurare la proprietà RequestTimeout dell'oggetto DataCacheFactoryConfiguration.

Per controllare questa impostazione con un file di configurazione dell'applicazione, specificare la durata del timeout in millisecondi con l'attributo requestTimeout dell'elemento dataCacheClient.

Vedere anche

Concetti

Panoramica della gestione delle eccezioni
Eccezioni comuni

  2012-03-05