Freigeben über


Aktivieren des lokalen Caches in Windows Server AppFabric

Windows Server AppFabric bietet die Möglichkeit, den Cacheclient programmgesteuert oder mithilfe einer Anwendungskonfigurationsdatei zu konfigurieren. In den folgenden Anweisungen wird beschrieben, wie der lokale Cache auf dem Cacheclient programmgesteuert aktiviert wird. Informationen, wie dies mit der Anwendungskonfigurationsdatei durchgeführt wird, finden Sie unter Aktivieren des lokalen Caches in Windows Server AppFabric (XML).

In den folgenden Schritten wird der Prozess beschrieben, der zum programmgesteuerten Aktivieren des lokalen Caches auf dem Cacheclient erforderlich ist:

  1. Erstellen einer Instanz der DataCacheLocalCacheProperties-Klasse. Konfigurieren des lokalen Caches durch Übergeben der passenden Werte an die Parameter des Konstruktors. Zu diesen gehören objectCount, defaultTimeout und invalidationPolicy.

  2. Übergeben Sie das DataCacheLocalCacheProperties-Objekt an den Konstruktor eines neuen DataCacheFactory-Objekts.

  3. Verwenden Sie das DataCacheFactory-Objekt zum Aufrufen der Methode GetCache, um einen Cacheclient zu erstellen, der lokalen Cache verwendet.

Warnung

Für diese Vorgehensweise wird angenommen, dass die Entwicklungsumgebung bereits vorbereitet wurde und die Verweise auf die AppFabric-Cacheassemblys festgelegt wurden. Weitere Informationen finden Sie unter Vorbereiten der Cacheclient-Entwicklungsumgebung (Windows Server AppFabric-Cache).

So erstellen Sie einen Cacheclient mit aktiviertem lokalem Cache

  1. Erstellen Sie ein Array von DataCacheServerEndpoint-Objekten, um die Cachehosts für den Client anzugeben.

  2. Erstellen einer Instanz der DataCacheLocalCacheProperties-Klasse. Konfigurieren des lokalen Caches durch Übergeben der passenden Werte an die Parameter des Konstruktors.

    1. Verwenden Sie den objectCount-Parameter, um die maximale Anzahl von Objekten im lokalen Cache anzugeben.

    2. Verwenden Sie den defaultTimeout-Parameter, um ein System.TimeSpan-Objekt anzugeben, das die Dauer festlegt, die ein Objekt vor der Invalidierung im lokalen Cache verbleibt.

    3. Verwenden Sie den invalidationPolicy-Parameter, um anzugeben, wie lokal zwischengespeicherte Objekte invalidiert werden. Geben Sie DataCacheLocalCacheInvalidationPolicy.TimeoutBased an, um festzulegen, dass nur der Timeoutwert verwendet werden soll. Geben Sie DataCacheLocalCacheInvalidationPolicy.NotificationBased an, um festzulegen, dass Cachebenachrichtigungen zusätzlich zu Timeouts verwendet werden. Weitere Informationen finden Sie unter Cacheclients und lokaler Cache (Windows Server AppFabric-Cache).

  3. Wenn für die Invalidierungsrichtlinie DataCacheLocalCacheInvalidationPolicy.NotificationBased festgelegt wurde, kann optional das Abrufintervall gesteuert werden, wie häufig der Cacheclient mit dem Cachecluster kommuniziert, um Aktualisierungsbenachrichtigungen für lokal zwischengespeicherte Objekte abzurufen. Erstellen Sie zu diesem Zweck eine Instanz der DataCacheNotificationProperties-Klasse. Konfigurieren Sie die Benachrichtigungseinstellungen durch Übergeben der passenden Werte an die Parameter des Konstruktors.

    1. Verwenden Sie den PollInterval-Parameter zum Angeben eines System.Timespan-Objekts für das Intervall, mit dem der Cacheclient den Cachecluster auf Cachebenachrichtigungen überprüft. Beachten Sie, dass lokaler Cache nicht für Cachebenachrichtigungen erforderlich ist. Weitere Informationen finden Sie unter Cachebenachrichtigungen (Windows Server AppFabric-Cache).

    2. Der MaxQueueLength-Parameter steuert die Warteschlangenlänge für Benachrichtigungen, wirkt sich aber nicht spezifisch auf den lokalen Cache aus. Der Standardwert beträgt 16384.

  4. Erstellen einer Instanz der DataCacheFactoryConfiguration-Klasse.

  5. Konfigurieren Sie Ihre Cachehosts durch Zuweisen des Cachehostarrays aus dem ersten Schritt an die Servers-Eigenschaft des DataCacheFactoryConfiguration-Objekts.

  6. Konfigurieren Sie den lokalen Cache durch Zuweisen des im zweiten Schritt erstellten DataCacheLocalCacheProperties-Objekts an die LocalCacheProperties-Eigenschaft des DataCacheFactoryConfiguration-Objekts.

  7. Konfigurieren Sie erforderlichenfalls die Benachrichtigungseigenschaften durch Zuweisen des im dritten Schritt erstellten DataCacheNotificationProperties-Objekts an die NotificationProperties-Eigenschaft des DataCacheFactoryConfiguration-Objekts.

  8. Übergeben Sie das DataCacheFactoryConfiguration-Objekt an den Konstruktor der DataCacheFactory-Klasse.

  9. Verwenden Sie die GetCache-Methode, um eine DataCache-Klasse auf der Basis der Einstellungen des DataCacheFactoryConfiguration-Objekts zu erhalten.

Hinweis

Wenn Sie DataCacheLocalCacheInvalidationPolicy.NotificationBased als lokale Cacheinvalidierungsrichtlinie ausgewählt haben, muss der Zielcache mit aktivierten Benachrichtigungen konfiguriert sein. Weitere Informationen finden Sie unter Verwenden von Windows PowerShell zum Verwalten von Windows Server AppFabric-Cachefeatures.

Beispiel

Dieses Beispiel veranschaulicht die programmgesteuerte Konfiguration eines Cacheclients, auf dem der lokale Cache aktiviert ist. Dieser Client wird für die Verwendung eines Caches mit dem Namen NamedCache1 konfiguriert, der auf einen Cacheserver mit dem Namen CacheServer2 verweist. Zum Verwenden dieses Beispiels in Ihrer Anwendung ersetzen Sie die Servereigenschaften in diesem Beispiel durch die des Cacheservers bzw. der Cacheserver. Fügen Sie dem Serverarray weitere DataCacheServerEndPoint-Objekte für jeden der weiteren Cachehosts im Cluster hinzu.

Geben Sie die Cachehosts an, die als führende Hosts festgelegt wurden. Als führende Hosts fungieren in der Regel die ersten Cacheserver, die im Cluster installiert wurden. Weitere Informationen zu führenden Hosts finden Sie unter Diagramm der physischen Windows Server AppFabric-Cachearchitektur. Mit dem Windows PowerShell-Verwaltungstool können Sie festlegen, welche Hosts als führende Hosts fungieren sollen. Weitere Informationen zu Windows PowerShell finden Sie unter Verwenden von Windows PowerShell zum Verwalten von Windows Server AppFabric-Cachefeatures. Im ersten Schritt wird das Serverarray erstellt. In diesem Beispiel wird ein Cachehost mit dem Namen CacheServer2 konfiguriert.

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

Erstellen Sie im nächsten Schritt ein DataCacheLocalCacheProperties-Objekt. In diesem Beispiel wird ein lokaler Cache mit einer Objektanzahl von 10000 und einem Timeoutwert von 30 Sekunden erstellt.

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

localCacheConfig = New DataCacheLocalCacheProperties(10000, _
   localTimeout, DataCacheLocalCacheInvalidationPolicy.TimeoutBased)
// 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);

Erstellen Sie im nächsten Schritt ein DataCacheFactoryConfiguration-Objekt. Weisen Sie das servers-Array der Servers-Eigenschaft zu. Weisen Sie das localCacheConfig-Objekt der LocalCacheProperties-Eigenschaft zu.

' Setup the DataCacheFactory configuration.
Dim factoryConfig As DataCacheFactoryConfiguration
factoryConfig = New DataCacheFactoryConfiguration

factoryConfig.Servers = servers
factoryConfig.LocalCacheProperties = localCacheConfig
// Setup the DataCacheFactory configuration.
DataCacheFactoryConfiguration factoryConfig = 
   new DataCacheFactoryConfiguration();

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

Übergeben Sie im nächsten Schritt das DataCacheFactoryConfiguration-Objekt an den DataCacheFactory-Klassenkonstruktor, und instanziieren Sie den Cacheclient mit der GetCache-Methode. In diesem Beispiel wird ein Cacheclient für einen Cache mit dem Namen NamedCache1 erstellt.

' Create a configured DataCacheFactory object.
Dim mycacheFactory As DataCacheFactory
mycacheFactory = New DataCacheFactory(factoryConfig)

' Get a cache client for the cache "NamedCache1".
Dim myDefaultCache As DataCache
myDefaultCache = mycacheFactory.GetCache("NamedCache1")
// Create a configured DataCacheFactory object.
DataCacheFactory mycacheFactory = new DataCacheFactory(factoryConfig);

// Get a cache client for the cache "NamedCache1".
DataCache myDefaultCache = mycacheFactory.GetCache("NamedCache1");

Hinweis

Aus Leistungsgründen wird empfohlen, die Anzahl der DataCacheFactory-Objekte, die in einer cacheaktivierten Anwendung erstellt werden, möglichst gering zu halten. Speichern Sie das DataCacheFactory-Objekt in einer Variablen, die für alle Teile der Anwendung, die einen Cacheclient verwenden, zugänglich ist.

Siehe auch

Konzepte

Erste Schritte mit einem Windows Server AppFabric-Cacheclient
Ändern des Cacheclient-Protokolliergrads (Windows Server AppFabric-Cache)
Cacheclients und lokaler Cache (Windows Server AppFabric-Cache)
Windows Server AppFabric-Cachekonzepte
Entwickeln eines Cacheclients (Windows Server AppFabric-Cache)

Weitere Ressourcen

Konfigurieren des Cacheclients mit XML

  2011-12-05