Anwendungskonfigurationseinstellungen (AppFabric 1.1-Cache)
Die Cacheclienteinstellungen der Anwendung können für die Cachefunktionen von Microsoft AppFabric 1.1 für Windows Server 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 Konfigurieren eines Cacheclients.
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 behandelten Beispielen.
Cacheclienteinstellung
Für jeden Cacheclient sind Konfigurationseinstellungen definiert. Wenn Sie eine Konfigurationsdatei verwenden, sind diese in mindestens einem Abschnitt dataCachClient
enthalten, der in einen Abschnitt dataCacheClients
eingebettet werden kann. Beispiele:
<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>
Im vorhergehenden Beispiel sind in der Konfigurationsdatei zwei Cacheclients definiert: default
und compressedCache
. Sie müssen den Cacheclientnamen nicht angeben, um auf den Standardcache zuzugreifen. Beispiele:
DataCacheFactory factory = new DataCacheFactory();
Wenn Sie einen anderen benannten Abschnitt dataCacheClient
angeben möchten, müssen Sie den Abschnittsnamen des Cacheclients mithilfe des Kontruktors DataCacheFactoryConfiguration angeben.
DataCacheFactoryConfiguration factoryConfig = new DataCacheFactoryConfiguration("compressedCache");
DataCacheFactory factory = new DataCacheFactory(factoryConfig)
Wenn Sie keine Anwendungskonfigurationsdatei verwenden, können Sie alle Einstellungen programmgesteuert mithilfe der Eigenschaften der Klasse DataCacheFactoryConfiguration definieren.
Einstellung | Speicherort der XML-Konfiguration | Speicherort der Codekonfiguration |
---|---|---|
Komprimierung (boolescher Wert) |
Das Attribut |
Die IsCompressionEnabled-Eigenschaft der DataCacheFactoryConfiguration-Klasse. |
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 (AppFabric 1.1-Cache).
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 (AppFabric 1.1-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.
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.
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.
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 Element configSections
als erstes Element in der Datei unter dem Tag configuration
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
Konfigurieren eines Cacheclients
Clusterkonfigurationseinstellungen
Problembehandlung von AppFabric
Verwenden von Windows PowerShell zum Verwalten von AppFabric 1.1-Cachefunktionen
AppFabric-Cachekonzepte (AppFabric 1.1-Cache)
Entwickeln eines Cacheclients
2012-03-05