Vorgehensweise: Konfigurieren des AppFabric-Sitzungsstatusanbieters für ASP.NET (AppFabric 1.1-Cache)
In diesem Thema wird erläutert, wie eine ASP.NET-Webanwendung so konfiguriert wird, dass sie einen bereitgestellten AppFabric-Cache zum Zwischenspeichern des Sitzungsstatus verwendet. Die Konfiguration erfolgt durch Ändern der Datei web.config für die Zielwebanwendung.
Verwenden von Microsoft AppFabric 1.1 für Windows Server-Cache für den Sitzungsstatus
Damit Ihre ASP.NET-Webanwendung den AppFabric-Sitzungsstatusanbieter verwenden kann, müssen Sie der Datei web.config Ihrer Anwendung die folgenden Elemente hinzufügen:
configSections
: Dieses Element muss das erste Element in der Konfigurationsdatei unter dem öffnenden Tagconfiguration
sein. Es ist erforderlich, damit die AppFabric-Cache-Assemblys funktionieren.dataCacheClients
: Dieses Element ist ein untergeordnetes Element des Konfigurationselements. Es wird zum Speichern derdataCacheClient
-Elemente verwendet, die Cacheclients konfigurieren und die Cachehosts angeben.sessionState
: Dieses Element ist ein untergeordnetes Element des Elementssystem.web
. Es weist die Webanwendung an, Microsoft AppFabric 1.1 für Windows Server zum Verwalten der Sitzungsstatusdaten zu verwenden. Das AttributcacheName
gibt den benannten Cache an, der verwendet wird. Das AttributdataCacheClientName
gibt an, welcher AbschnittdataCacheClient
für die Cachekonfiguration verwendet wird.
Warnung
Es wird dringend empfohlen, die zum Angeben der Namen der Cachehosts verwendete Datei web.config zu sichern.
So verwenden Sie den Microsoft AppFabric 1.1 für Windows Server-Cache für den Sitzungsstatus
Bereiten Sie zuerst Ihr Visual Studio 2010-Projekt so vor, dass Microsoft AppFabric 1.1 für Windows Server-Cache verwendet wird. Weitere Informationen finden Sie unter Vorbereiten der Cacheclient-Entwicklungsumgebung (AppFabric 1.1-Cache).
Verweisen Sie nicht nur auf die normalen Cacheassemblys, sondern auch auf die Assembly Microsoft.Web.DistributedCache.dll im Microsoft AppFabric 1.1 für Windows Server-Cache-Installationspfad.
Kopieren Sie das Element
configSections
aus dem Beispiel unten in Ihre Datei web.config. Stellen Sie sicher, dass dieses Element das erste Element innerhalb derconfiguration
-Tags ist.Kopieren Sie das Element
dataCacheClients
aus dem Beispiel unten in Ihre Datei web.config. Es sollte hinter dem ElementconfigSections
innerhalb des Elementsconfiguration
hinzugefügt werden.- Konfigurieren Sie die Attribute
name
undcachePort
der Hostelemente so, dass sie den Cacheservern in Ihrer Umgebung entsprechen. Fügen Sie Hostelemente nach Bedarf hinzu, oder entfernen Sie diese.
- Konfigurieren Sie die Attribute
Kopieren Sie das Element
sessionState
aus dem Beispiel unten in Ihre Datei web.config. Es sollte innerhalb des Elementssystem.web
positioniert werden. Geben Sie die AttributecacheName
unddataCacheClientName
sowie alle weiteren erforderlichen Einstellungen an.Bestimmen Sie die Identität der Webanwendung. Dies kann in IIS-Manager auf den Webservern erfolgen. Ermitteln Sie die Identität des Anwendungspools, der der Webanwendung zugeordnet ist. Erteilen Sie diesem Benutzer mithilfe des Windows PowerShell-Befehls
Grant-CacheAllowedClientAccount
Zugriff auf den Cachecluster.Tipp
Wenn der Anwendungspool als integriertes Computerkonto, z. B. als NT-AUTORITÄT\Netzwerkdienst, ausgeführt wird, sollte dem betreffenden Computer Zugriff auf den Cachecluster erteilt werden. Sie können zu diesem Zweck DOMAENENNAME\COMPUTERNAME$ als Konto angeben. Beachten Sie, dass „$“ an den Computernamen angefügt wird, um anzugeben, dass es sich um das Computerkonto handelt.
Beispiel
Dieses Beispiel zeigt, wie eine ASP.NET-Webanwendung für die Verwendung eines Cacheclients zum Speichern von Sitzungsdaten in einem verteilten Cache namens default
konfiguriert wird. Der Cacheclient in diesem Beispiel ist nur zum Kommunizieren mit einem Cachehost mit dem Namen CacheServer1
konfiguriert.
Fügen Sie der Datei web.config zuerst das Element
configSections
als erstes Element im Elementconfiguration
hinzu:<!--configSections must be the FIRST element --> <configSections> <section name="dataCacheClients" type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core" allowLocation="true" allowDefinition="Everywhere"/> </configSections>
Fügen Sie dann das einzelne Element
dataCacheClients
hinzu, das mindestens ein ElementdataCacheClient
enthält. Fügen Sie diese Angaben der Datei web.config hinter dem ElementconfigSections
hinzu. Auf diese Weise konfigurieren Sie den Cacheclient so, dass die Anforderungen Ihrer Anwendung erfüllt werden. Weitere Informationen finden Sie unter Anwendungskonfigurationseinstellungen (AppFabric 1.1-Cache).<dataCacheClients> <dataCacheClient name="default"> <hosts> <host name="CacheServer1" cachePort="22233" /> </hosts> </dataCacheClient> </dataCacheClients>
Nachdem die Elemente
configSections
unddataCacheClients
hinzugefügt wurden, fügen Sie der Datei web.config das ElementsessionState
innerhalb des Elementssystem.web
hinzu. Auf diese Weise geben Sie an, welcher Cache von der Webanwendung zum Speichern von Sitzungsstatusdaten verwendet wird. Passen Sie die AttributecacheName
unddataCacheClientName
sowie alle weiteren erforderlichen Einstellungen an.Beachten Sie, dass der gleiche Attributwert
applicationNamme
verwendet werden sollte, wenn mehrere Webanwendungen den gleichen Sitzungsstatus gemeinsam verwenden müssen. Andernfalls muss dasapplicationNamme
-Attribut nicht angegeben werden.<sessionState mode="Custom" customProvider="AppFabricCacheSessionStoreProvider" compressionEnabled="false"> <providers> <add name="AppFabricCacheSessionStoreProvider" type="Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider, Microsoft.Web.DistributedCache" cacheName="default" useBlobMode="true" dataCacheClientName="default"/> </providers> </sessionState>
Nach der Fertigstellung ähnelt die endgültige Datei web.config der Webanwendung dem folgenden Beispiel.
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="dataCacheClients"
type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core"
allowLocation="true" allowDefinition="Everywhere"/>
</configSections>
<dataCacheClients>
<dataCacheClient name="default" channelOpenTimeout="10000">
<hosts>
<host name="CacheServer1" cachePort="22233" />
</hosts>
</dataCacheClient>
</dataCacheClients>
<system.web>
<sessionState mode="Custom" customProvider="AppFabricCacheSessionStoreProvider" compressionEnabled="false">
<providers>
<add name="AppFabricCacheSessionStoreProvider"
type="Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider, Microsoft.Web.DistributedCache"
cacheName="default"
useBlobMode="true"
dataCacheClientName="default"/>
</providers>
</sessionState>
</system.web>
</configuration>
Siehe auch
Konzepte
Sitzungsstatusanbieter (AppFabric 1.1-Cache)
2012-03-05