Freigeben über


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 Tag configuration sein. Es ist erforderlich, damit die AppFabric-Cache-Assemblys funktionieren.

  • dataCacheClients: Dieses Element ist ein untergeordnetes Element des Konfigurationselements. Es wird zum Speichern der dataCacheClient-Elemente verwendet, die Cacheclients konfigurieren und die Cachehosts angeben.

  • sessionState: Dieses Element ist ein untergeordnetes Element des Elements system.web. Es weist die Webanwendung an, Microsoft AppFabric 1.1 für Windows Server zum Verwalten der Sitzungsstatusdaten zu verwenden. Das Attribut cacheName gibt den benannten Cache an, der verwendet wird. Das Attribut dataCacheClientName gibt an, welcher Abschnitt dataCacheClient 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

  1. 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).

  2. 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.

  3. Kopieren Sie das Element configSections aus dem Beispiel unten in Ihre Datei web.config. Stellen Sie sicher, dass dieses Element das erste Element innerhalb der configuration-Tags ist.

  4. Kopieren Sie das Element dataCacheClients aus dem Beispiel unten in Ihre Datei web.config. Es sollte hinter dem Element configSections innerhalb des Elements configuration hinzugefügt werden.

    1. Konfigurieren Sie die Attribute name und cachePort der Hostelemente so, dass sie den Cacheservern in Ihrer Umgebung entsprechen. Fügen Sie Hostelemente nach Bedarf hinzu, oder entfernen Sie diese.
  5. Kopieren Sie das Element sessionState aus dem Beispiel unten in Ihre Datei web.config. Es sollte innerhalb des Elements system.web positioniert werden. Geben Sie die Attribute cacheName und dataCacheClientName sowie alle weiteren erforderlichen Einstellungen an.

  6. 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.

  1. Fügen Sie der Datei web.config zuerst das Element configSections als erstes Element im Element configuration 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>
    
  2. Fügen Sie dann das einzelne Element dataCacheClients hinzu, das mindestens ein Element dataCacheClient enthält. Fügen Sie diese Angaben der Datei web.config hinter dem Element configSections 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>
    
  3. Nachdem die Elemente configSections und dataCacheClients hinzugefügt wurden, fügen Sie der Datei web.config das Element sessionState innerhalb des Elements system.web hinzu. Auf diese Weise geben Sie an, welcher Cache von der Webanwendung zum Speichern von Sitzungsstatusdaten verwendet wird. Passen Sie die Attribute cacheName und dataCacheClientName 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 das applicationNamme-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