Konfigurieren von Cacheclienttimeouts

Mit den Microsoft AppFabric 1.1 für Windows Server-Cache-Funktionen können Sie die Länge von Cacheclienttimeouts konfigurieren. Sie können steuern, wie lange auf eine Antwort vom Cachecluster gewartet werden soll. Dieses Thema befasst sich mit zwei Timeouttypen: Timeouts beim Öffnen von Kanälen und Anforderungstimeouts.

Einige Anwendungen erzielen Leistungsvorteile, indem eine kurze Timeoutdauer festgelegt und Timeoutfehler dann adäquat behandelt werden. Andere Anwendungen bevorzugen ggf. eine relativ lange Timeoutdauer, um die Häufigkeit dieser Fehler zu verringern.

Die hier erörterten Timeouts beziehen sich nicht auf die erste Verbindung mit dem Cachecluster. Diese erste Verbindung erfolgt, wenn ein neues DataCacheFactory-Objekt erstellt wird. Während dieser Verbindung wird ein Versuch unternommen, mit dem Cluster über einen oder mehrere der in der Servers-Eigenschaft oder im hosts-Element der Anwendungskonfigurationsdatei angegebenen Server zu kommunizieren. Alle Netzwerk- oder Clusterprobleme bei der Kommunikation mit diesen Servern kann zu einer Verzögerung beim Herstellen der ersten Verbindung führen. Zum Abmildern dieser Verzögerung sollte das DataCacheFactory-Objekt in einem sekundären Thread erstellt werden. Auf der Grundlage des Programmiermodells sollte die Anwendung ohne Cache funktionieren können, indem sie die Quelldaten verwendet, bis die Verbindung mit dem Cachecluster erfolgreich hergestellt wurde.

ChannelOpenTimeout

Wenn die Dauer eines Timeouts beim Öffnen des Kanals verlängert wird, wird DataCacheException ausgegeben, wobei ErrorCode auf RetryLater festgelegt wird. Die Konfigurationseinstellung von ChannelOpenTimeout steuert, wie lange der Cacheclient wartet, bis eine Netzwerkverbindung zum Server eingerichtet wird. Sie können diesen Timeout auf 0 festlegen, wenn Sie möchten, dass alle Fehler unmittelbar an den Client zurückgegeben werden.

Wenn Sie diese Einstellung programmgesteuert ändern möchten, konfigurieren Sie die ChannelOpenTimeout-Eigenschaft des DataCacheFactoryConfiguration-Objekts.

Wenn Sie diese Einstellung mit einer Anwendungskonfigurationsdatei steuern möchten, übergeben Sie die Timeoutdauer in Millisekunden mit dem channelOpenTimeout-Attribut an das dataCacheClient-Element.

RequestTimeout

Wenn die Dauer eines Anforderungstimeouts verlängert wird, wird DataCacheException ausgegeben, wobei ErrorCode auf Timeout festgelegt wird. Mit der Konfigurationseinstellung RequestTimeout wird gesteuert, wie lange der Cacheclient wartet, bis er eine Antwort vom Server auf einen bestimmten API-Aufruf erhält. Wenn Sie beispielsweise die Get-Methode aufgerufen haben, um ein Objekt aus dem Cache abzurufen, legt der Anforderungstimeout fest, wie lange der Cacheclient auf eine Antwort wartet, bis eine Ausnahmebedingung ausgegeben wird. Im Gegensatz zu ChannelOpenTimeout sollten Sie RequestTimeout nicht auf 0 festlegen, da in diesem Fall bei jedem Aufruf des Servers ein Timeoutfehler ausgegeben wird.

Wenn Sie diese Einstellung programmgesteuert ändern möchten, konfigurieren Sie die RequestTimeout-Eigenschaft des DataCacheFactoryConfiguration-Objekts.

Wenn Sie diese Einstellung mit einer Anwendungskonfigurationsdatei steuern möchten, übergeben Sie die Timeoutdauer in Millisekunden mit dem requestTimeout-Attribut an das dataCacheClient-Element.

Siehe auch

Konzepte

Übersicht zur Ausnahmebehandlung
Häufige Ausnahmen

  2012-03-05