Anwendungskonfigurationseinstellungen (Windows Server AppFabric-Cache)
Die Cacheclienteinstellungen der Anwendung können für die Cachefeatures von Windows Server AppFabric programmgesteuert, mithilfe einer Anwendungskonfigurationsdatei oder mit beiden Verfahren an verschiedenen Stellen der Anwendung konfiguriert werden. Weitere Informationen zu jeder dieser Konfigurationsmethoden und deren Auswahl finden Sie unter Clientkonfigurationsoptionen (Windows Server AppFabric-Cache).
Unabhängig vom gewählten Vorgehen wird jeweils die gleiche Cacheclienteinstellung konfiguriert. In den Tabellen in diesem Thema werden die für den Cacheclient verfügbaren Einstellungen und ihre Verwendung in der XML-basierten Konfigurationsdatei sowie zur programmgesteuerten Konfiguration im Code dargestellt.
Weitere Informationen zum Verwenden dieser Einstellungen in der Anwendung finden Sie in den unter XML-basierte Clientkonfiguration (Windows Server AppFabric-Cache) behandelten Beispielen.
Cacheclienteinstellung
Einstellung | Speicherort der XML-Konfiguration | Speicherort der Codekonfiguration |
---|---|---|
Clienttimeout (Millisekunden) |
Das Attribut |
Die RequestTimeout-Eigenschaft der DataCacheFactoryConfiguration-Klasse. |
Timeout für geöffneten Kanal (Millisekunden) |
Das Attribut |
Die ChannelOpenTimeout-Eigenschaft der DataCacheFactoryConfiguration-Klasse. |
Maximale Anzahl der Verbindungen zum Server |
Das Attribut |
Die MaxConnectionsToServer-Eigenschaft der DataCacheFactoryConfiguration-Klasse. |
Cachehosteinstellungen
Für jeden Cacheclient muss mindestens ein Cachehost im Cluster angegeben werden. Geben Sie führende Hosts an, da die als führende Hosts designierten Cachehosts die Verwaltung des Clusters unterstützen. Im Anfang stellen führende Hosts die ersten im Cluster installierten Cachehosts dar. Weitere Informationen zu führenden Hosts finden Sie unter Diagramm der physischen Windows Server AppFabric-Cachearchitektur.
In der Anwendungskonfigurationsdatei werden die Einstellungen für jeden Cache in einem Hostelement angegeben, einem untergeordneten Element des hosts
-Elements. Programmgesteuert wird jeder Host im Klassenkonstruktor der DataCacheServerEndpoint-Klasse definiert. Nach der Instanziierung werden dann diese DataCacheServerEndPoint-Objekte an die Servers-Eigenschaft der DataCacheServerEndpoint-Klasse übergeben.
Einstellung | Speicherort der XML-Konfiguration | Speicherort der Codekonfiguration |
---|---|---|
Cacheservername |
Das Attribut |
Die HostName-Eigenschaft der DataCacheServerEndpoint-Klasse. |
Cacheportnummer |
Das Attribut |
Die CachePort-Eigenschaft der DataCacheServerEndpoint-Klasse. |
Lokale Cacheeinstellungen
Mit den lokalen Cacheeinstellungen wird angegeben, ob der lokale Cache aktiviert werden soll, in welcher Weise die Invalidierung lokal zwischengespeicherer Objekte erfolgt, welcher Objekttimeout angewendet wird, und ob Cachebenachrichtigungen zum Invalidieren lokal zwischengespeicherter Objekte verwendet werden sollen.
In der Anwendungskonfigurationsdatei werden Einstellungen des lokalen Caches im localCache
-Element, einem untergeordneten Element des dataCacheClient
-Elements, definiert. Programmgesteuert wird der lokale Cache mit einer Instanz der DataCacheFactoryConfiguration-Klasse konfiguriert, die dem Konstruktor des DataCacheFactory-Klassenkonstruktors übergeben wird. Weitere Informationen zum lokalen Cache finden Sie unter Cacheclients und lokaler Cache (Windows Server AppFabric-Cache)
Einstellung | Speicherort der XML-Konfiguration | Speicherort der Codekonfiguration |
---|---|---|
Lokaler Cache aktiviert |
Das Attribut |
Die IsEnabled-Eigenschaft der DataCacheLocalCacheProperties-Klasse. Dieses Objekt wird dann der Eigenschaft LocalCacheProperties der DataCacheFactoryConfiguration-Klasse zugewiesen. |
Invalidierungsmethode des lokalen Caches |
Das Attribut |
Die InvalidationPolicy-Eigenschaft der DataCacheLocalCacheProperties-Klasse. Mögliche Werte: NotificationBased und TimeoutBased. |
Timeout des lokalen Caches (Sekunden) |
Das Attribut |
Die DefaultTimeout-Eigenschaft der DataCacheLocalCacheProperties-Klasse. |
Abrufintervall für spezifische Cachebenachrichtigungen (Sekunden) |
(optional) Wird vom |
Die PollInterval-Eigenschaft der DataCacheNotificationProperties-Klasse. Dieses Objekt wird dann der Eigenschaft NotificationProperties der DataCacheFactoryConfiguration-Klasse zugewiesen. |
Maximale Anzahl lokal zwischengespeicherter Objekte |
(optional) Wird vom |
Die ObjectCount-Eigenschaft der DataCacheLocalCacheProperties-Klasse. |
Hinweis
Zum Erzielen einer optimalen Leistung sollte der lokale Cache nur für Objekte aktiviert werden, die sich nicht häufig ändern. Die Verwendung des lokalen Caches für häufig wechselnde Daten kann die Gefahr erhöhen, dass der Client mit veralteten Objekten arbeitet. Zwar können Sie den ttlValue
herabsetzen und den lokalen Cache durch einen Prozess häufiger aktualisieren lassen, die höhere Auslastung des Clusters kann dann jedoch den Vorteil des lokalen Caches zunichte machen. In derartigen Fällen sich häufig ändernder Daten sollte der lokale Cache deaktiviert werden, und die Daten sollten direkt aus dem Cluster abgerufen werden.
Benachrichtigungseinstellungen
In der Anwendungskonfigurationsdatei werden Benachrichtigungseigenschaften im clientNotification
-Element, einem untergeordneten Element des dataCacheClient
-Elements, definiert. Programmgesteuert werden Benachrichtigungseigenschaften mit einer Instanz der DataCacheFactoryConfiguration-Klasse konfiguriert, die dem Konstruktor des DataCacheFactory-Klassenkonstruktors übergeben wird. Weitere Informationen finden Sie unter Konfigurationsmethoden (Windows Server AppFabric-Cache).
Einstellung | Speicherort der XML-Konfiguration | Speicherort der Codekonfiguration |
---|---|---|
Abrufintervall für spezifische Cachebenachrichtigungen (Sekunden) |
Wird vom |
Die PollInterval-Eigenschaft der DataCacheNotificationProperties-Klasse. Dieses Objekt wird dann der Eigenschaft NotificationProperties der DataCacheFactoryConfiguration-Klasse zugewiesen. |
Maximale Warteschlangenlänge |
Das Attribut |
Die MaxQueueLength-Eigenschaft der DataCacheNotificationProperties-Klasse. |
Sicherheitseinstellungen
In der Anwendungskonfigurationsdatei werden Sicherheitseigenschaften im securityProperties
-Element, einem untergeordneten Element des dataCacheClient
-Elements, definiert. Programmgesteuert werden Sicherheitseigenschaften mit einer Instanz der DataCacheFactoryConfiguration-Klasse konfiguriert, die dem Konstruktor des DataCacheFactory-Klassenkonstruktors übergeben wird. Weitere Informationen finden Sie unter Konfigurationsmethoden (Windows Server AppFabric-Cache).
Einstellung | Speicherort der XML-Konfiguration | Speicherort der Codekonfiguration |
---|---|---|
Mode |
Das Attribut |
Die SecurityMode-Eigenschaft der DataCacheSecurity-Klasse. Mögliche Werte: None und Transport. Das DataCacheSecurity-Objekt wird dann der SecurityProperties-Eigenschaft der DataCacheFactoryConfiguration-Klasse zugewiesen. |
Schutzstufe |
Das Attribut |
Die ProtectionLevel-Eigenschaft der DataCacheSecurity-Klasse. Mögliche Werte: None, Sign und EncryptAndSign. |
Transporteinstellungen
In der Anwendungskonfigurationsdatei werden Transporteigenschaften im transportProperties
-Element, einem untergeordneten Element des dataCacheClient
-Elements, definiert. Programmgesteuert werden Transporteigenschaften mit einer Instanz der DataCacheFactoryConfiguration-Klasse konfiguriert, die dem Konstruktor des DataCacheFactory-Klassenkonstruktors übergeben wird. Weitere Informationen finden Sie unter Konfigurationsmethoden (Windows Server AppFabric-Cache).
Einstellung | Speicherort der XML-Konfiguration | Speicherort der Codekonfiguration |
---|---|---|
Größe des Verbindungspuffers (Bytes) |
Das Attribut |
Die ConnectionBufferSize-Eigenschaft der DataCacheTransportProperties-Klasse. Dieses Objekt wird dann der Eigenschaft TransportProperties der DataCacheFactoryConfiguration-Klasse zugewiesen. |
Maximale Pufferpoolgröße (Bytes) |
Das Attribut |
Die MaxBufferPoolSize-Eigenschaft der DataCacheTransportProperties-Klasse. |
Maximale Puffergröße (Bytes) |
Das Attribut |
Die MaxBufferSize-Eigenschaft der DataCacheTransportProperties-Klasse. |
Maximale Ausgabeverzögerung (Millisekunden) |
Das Attribut |
Die MaxOutputDelay-Eigenschaft der DataCacheTransportProperties-Klasse. |
Timeout für die Kanalinitialisierung (Millisekunden) |
Das Attribut |
Die ChannelInitializationTimeout-Eigenschaft der DataCacheTransportProperties-Klasse. |
Empfangstimeout (Millisekunden) |
Das Attribut |
Die ReceiveTimeout-Eigenschaft der DataCacheTransportProperties-Klasse. |
Anwendungskonfigurations-Beispieldatei
Damit die AppFabric-Assemblys die XML-Elemente in der Anwendungskonfigurationsdatei lesen, muss das configSections
-Element als erstes Element in der Datei unter dem configuration
-Tag aufgeführt sein. Innerhalb des configSections
-Elements muss ein section
-Element aufgenommen werden, das dem dataCacheClient
-Element zugeordnet ist.
Das folgende Beispiel zeigt eine Anwendungskonfigurationsdatei, die viele der in diesem Thema erörterten Cacheclient-Konfigurationsoptionen verwendet. Es muss unbedingt beachtet werden, dass für Verbindungen zum Cluster nur das hosts
-Element im dataCacheClient
erforderlich ist. Die anderen untergeordneten Elemente weisen sämtlich Standardwerte auf.
<?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>
Siehe auch
Konzepte
Clientkonfigurationsoptionen (Windows Server AppFabric-Cache)
Clusterkonfigurationseinstellungen (Windows Server AppFabric-Cache)
Windows Server AppFabric-Cache – Problembehebung
Verwenden von Windows PowerShell zum Verwalten von Windows Server AppFabric-Cachefeatures
Windows Server AppFabric-Cachekonzepte
Entwickeln eines Cacheclients (Windows Server AppFabric-Cache)
2011-12-05