Vorgehensweise: Konfigurieren eines Cacheclients für Azure Managed Cache Service

Wichtig

Microsoft empfiehlt, alle neuen Entwicklungen azure Redis Cache zu verwenden. Für aktuelle Dokumentation und Anleitungen zur Auswahl eines Azure Cache-Angebots finden Sie unter Welches Azure Cache-Angebot ist für mich richtig?

Managed Cache Service erleichtert die Konfiguration von Cacheclients durch Bereitstellen eines NuGet-Pakets, um die erforderlichen Assemblybezüge und -konfigurationen hinzuzufügen. Das NuGet-Paket Cache stellt außerdem auskommentierte Abschnitte in der Datei web.config für Webprojekte zur Verfügung, um die Anbieter für Cachesitzungsstatus und Seitenausgabecache zu aktivieren. In diesem Thema wird eine exemplarische Vorgehensweise zum Konfigurieren von Cacheclients mithilfe des NuGet-Pakets Cache gezeigt.

In diesem Thema

  • Konfigurieren eines Cacheclients mithilfe des NuGet-Pakets Caching

  • Verwenden des Sitzungsstatusanbieters in einem ASP.NET-Projekt

  • Verwenden des Ausgabecacheanbieters für ein ASP.NET-Projekt

Konfigurieren eines Cacheclients mithilfe des NuGet-Pakets Caching

Das Konfigurieren Managed Cache Service Clientanwendungen ist einfach. Managed Cache Service stellt ein NuGet-Paket bereit, um die erforderlichen Konfigurations- und Assemblybezüge hinzuzufügen, damit Cacheclients auf einen Cache zugreifen können.

Hinweis

Managed Cache Service unterstützt Azure-Websites, Cloud Services und Virtual Machines Clientanwendungen. Die Konfigurationsschritte für diese verschiedenen Clientanwendungstypen sind sich sehr ähnlich. Sie weisen nur geringfügige Unterschiede auf. Das NuGet-Paket Cache, das bereitgestellt wird, verarbeitet die meisten dieser Unterschiede automatisch. Eine Beschreibung dieser Unterschiede finden Sie an verschiedenen Stellen in diesem Thema. Eine Zusammenfassung der Unterschiede finden Sie unter Cachedienst-Clientanwendungstypen.

Wenn Sie eine Clouddiensteanwendung erstellen, laden Sie die Azure SDK-Version 2.1 oder höher herunter. Wenn Sie Azure-Websites oder Clientanwendungen virtueller Computer erstellen, installiert das NuGet-Paket Cache alle Komponenten, die für die ersten Schritte erforderlich sind.

Wichtig

Für diese Schritte ist der Paket-Manager von NuGet (Version 2.6.40627.9000 oder höher) erforderlich. Informationen zum Installieren der neuesten NuGet Paket-Manager finden Sie unter NuGet Paket-Manager.

Um das Managed Cache Service NuGet-Paket zu verwenden, klicken Sie mit der rechten Maustaste auf das Clientprojekt in Projektmappen-Explorer, und wählen Sie "NuGet Pakete verwalten" aus.

Wählen Sie Azure Caching aus, klicken Sie auf Installieren, und klicken Sie dann auf Ich stimme zu. Nachdem das Paket für das Clientprojekt installiert wurde, klicken Sie auf Schließen, um das Fenster NuGet-Pakete verwalten zu schließen.

Hinweis

Wenn Azure Caching nicht in der Liste angezeigt wird, geben Sie WindowsAzure.Caching in das Textfeld Online suchen ein.

Windows Azure Cache NuGet Package

Wenn das Managed Cache Service NuGet-Paket in einem Clientprojekt installiert ist, fügt er die erforderlichen Konfigurations- und Assemblybezüge hinzu, sodass die Clientanwendung auf den Cache zugreifen kann.

In der Datei web.config oder app.config für das Clientprojekt werden mehrere Elemente hinzugefügt.

  1. configSections werden zwei Abschnitte namens dataCacheClients und cacheDiagnostics hinzugefügt.

    <!-- Non-cache sections omitted for space -->
      <configSections>
        <section name="dataCacheClients" 
            type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core" 
            allowLocation="true" 
            allowDefinition="Everywhere" />
    
        <section name="cacheDiagnostics" 
            type="Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsConfigurationSection, Microsoft.ApplicationServer.Caching.AzureCommon" 
            allowLocation="true" 
            allowDefinition="Everywhere" />
      </configSections>
    
  2. Ein Abschnitt dataCacheClients wird dem Abschnitt configuration hinzugefügt.

    <!-- Non-cache sections omitted for space -->
      <dataCacheClients>
        <dataCacheClient name="default">
          <!--To use the in-role flavor of Azure Caching, set identifier to be the cache cluster role name -->
          <!--To use the Azure Caching Service, set identifier to be the endpoint of the cache cluster -->
          <autoDiscover
            isEnabled="true" 
            identifier="[Cache role name or Service Endpoint]" />
          <!--<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />-->
          <!--Use this section to specify security settings for connecting to your cache. 
              This section is not required if your cache is hosted on a role that is a part 
              of your cloud service. -->
          <!--<securityProperties mode="Message" sslEnabled="false">
            <messageSecurity authorizationInfo="[Authentication Key]" />
          </securityProperties>-->
        </dataCacheClient>
      </dataCacheClients>
    

    Ersetzen Sie [Cacherollenname oder Dienstendpunkt] durch die Endpunkt-URL, die im Cachedashboard im Verwaltungsportal angezeigt wird.

    Endpoint URL for Windows Azure Cache Service
    In diesem Beispiel wird der Cache als Anwendungscache bezeichnet, und die Endpunkt-URL wird applicationcache.cache.windows.net.

    <autoDiscover isEnabled="true" identifier="applicationcache.cache.windows.net" />
    

    Deaktivieren Sie den Abschnitt securityProperties , und ersetzen Sie [Authentifizierungsschlüssel] durch den Authentifizierungsschlüssel.

    <!--Use this section to specify security settings for connecting to your cache. 
        This section is not required if your cache is hosted on a role that is a part 
        of your cloud service. -->
    <!--<securityProperties mode="Message" sslEnabled="false">
      <messageSecurity authorizationInfo="[Authentication Key]" />
    </securityProperties>-->
    

    Sie ermitteln den Authentifizierungsschlüssel, indem Sie im Verwaltungsportal im Cachedashboard auf Zugriffsschlüssel klicken.

    Manage Access Keys for Windows Azure Cache Service

    Warnung

    Diese Einstellungen müssen ordnungsgemäß konfiguriert werden, ansonsten kann von den Clients nicht auf den Cache zugegriffen werden.

Für Clouddiensteprojekte fügt das Managed Cache Service NuGet-Paket auch eine ClientDiagnosticLevel-Einstellung zur ConfigurationSettings Rolle des Cacheclients in ServiceConfiguration.cscfghinzu. Im folgenden Beispiel handelt es sich um den WebRole1 Abschnitt einer Datei mit einem ServiceConfiguration.cscfgClientDiagnosticLevel von 1, der der StandardclientDiagnosticLevel ist.

<Role name="WebRole1">
  <Instances count="1" />
  <ConfigurationSettings>
    <!-- Other settings omitted for space... -->
    <Setting name="Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel" value="1" />
  </ConfigurationSettings>
</Role>

Hinweis

Weitere Informationen zu Cachediagnosestufen finden Sie unter "About ClientDiagnosticLevel for Azure Managed Cache Service".

Zusätzlich zum Hinzufügen der erforderlichen Konfiguration fügt das Managed Cache Service NuGet-Paket auch die folgenden Assemblybezüge hinzu.

  • Microsoft.ApplicationServer.Caching.Client.dll

  • Microsoft.ApplicationServer.Caching.Core.dll

  • Microsoft.ApplicationServer.Caching.AzureCommon.dll

  • Microsoft.ApplicationServer.Caching.AzureClientHelper.dll

  • Microsoft.WindowsFabric.Common.dll

  • Microsoft.WindowsFabric.Data.Common.dll

Wenn es sich bei dem Projekt um eine Webprojekt handelt, wird der folgende Assemblyverweis ebenfalls hinzugefügt.

  • Microsoft.Web.DistributedCache.dll

Verwenden des Sitzungsstatusanbieters in einem ASP.NET-Projekt

Der Microsoft Azure Cachesitzungsstatusanbieter ist ein Out-of-Process-Speichermechanismus für ASP.NET Anwendungen. Dieser Anbieter ermöglicht das Speichern des Sitzungsstatus in einem Cache (im Gegensatz zu In-Memory oder in einer SQL Server-Datenbank). Wenn Sie das NuGet-Paket Caching zum Aktivieren von Caching verwenden, fügt dieses einen auskommentierten Abschnitt hinzu, um den Cachesitzungsstatusanbieter zu aktivieren.

  1. Konfigurieren Sie zunächst einen Cache, der mit dem ASP.NET anbieter verwendet werden soll, wie im vorherigen Abschnitt "Cacheclient konfigurieren" mit dem Abschnitt "Cache NuGet Paket" beschrieben.

  2. Entfernen Sie alle vorhandenen SessionState-Elemente , die das Zwischenspeichern des Sitzungszustands konfigurieren. Entfernen Sie den kommentarten SessionState-Abschnitt nicht, der vom NuGet-Paket hinzugefügt wurde.

  3. Deaktivieren Sie im web.config-Datei den SessionState-Abschnitt .

    <!-- Azure Caching session state provider -->
    <!--<sessionState mode="Custom" customProvider="AFCacheSessionStateProvider">
      <providers>
        <add name="AFCacheSessionStateProvider" type="Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider, Microsoft.Web.DistributedCache" cacheName="default" dataCacheClientName="default" applicationName="AFCacheSessionState"/>
      </providers>
    </sessionState>-->
    

Die folgende Liste stellt optionale Konfigurationsänderungen zur Verfügung, die sich auf den Sitzungsstatusanbieter auswirken.

  • Ändern Sie den gezielten benannten Cache mit dem CacheName-Attribut des Add-Elements .

  • Ändern Sie die Quelle der Cacheclienteinstellungen mit dem DataCacheClientName-Attribut des Add-Elements. Legen Sie dieses Attribut auf den Namen eines vorhandenen DataCacheClient-Abschnitts in der web.config-Datei fest.

  • Ändern Sie das Verhalten des Cacheclients, indem Sie die Einstellungen im zugehörigen DataCacheClient-Abschnitt ändern. Aktivieren Sie beispielsweise die Komprimierung mit dem IsCompressionEnabled-Attribut .

    <dataCacheClient name="default" isCompressionEnabled="true">
      <!-- Other cache settings omitted -->
    </dataCacheClient>
    

    Eine Liste der verfügbaren Konfigurationsoptionen finden Sie unter Cacheclientkonfiguration Einstellungen für Azure Managed Cache Service. Beachten Sie, dass die ASP.NET Anbieter für die Zwischenspeicherung keine binären oder benutzerdefinierten Serialisierungstypen unterstützen. Wenn diese Serializer für den Sitzungszustand verwendet werden, tritt die folgende Ausnahme auf: "Type 'Microsoft.Web.DistributedCache.SerializableSessionStateStoreData' in Assembly 'Microsoft.Web.DistributedCache, Version=101.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ist nicht als serialisierbar gekennzeichnet"

  • Ändern der Einstellungen für den Sitzungsstatusanbieter. Eine Liste der verfügbaren Konfigurationsoptionen finden Sie unter ASP.NET Sitzungszustandsanbieterkonfiguration Einstellungen für Azure Managed Cache Service.

Verwenden des Ausgabecacheanbieters für ein ASP.NET-Projekt

Der Microsoft Azure Cachecacheanbieter ist ein Out-of-Process-Speichermechanismus für Ausgabecachedaten. Diese Daten sind für vollständige HTTP-Antworten bestimmt (Zwischenspeichern von Seitenausgaben). Der Anbieter wird zum neuen Erweiterungspunkt des Ausgabecacheanbieters hinzugefügt, der in ASP.NET 4 eingeführt wurde. Wenn Sie das Cache-NuGet-Paket verwenden, um die Zwischenspeicherung zu aktivieren, fügt sie einen auskommentierten Abschnitt hinzu, um den Cacheseitenausgabeanbieter zu aktivieren.

  1. Konfigurieren Sie zunächst einen Cache, der mit dem ASP.NET anbieter verwendet werden soll, wie im vorherigen Abschnitt "Cacheclient konfigurieren" mit dem Abschnitt "Cache NuGet Paket" beschrieben.

  2. Verwenden Sie NuGet, um die Cacheunterstützung zu Ihrem ASP.NET Projekt in Visual Studio hinzuzufügen.

    Wichtig

    Für diese Schritte ist der aktuelle Paket-Manager von NuGet (Version 2.6.40627.9000 oder höher) erforderlich. Informationen zum Installieren der neuesten NuGet Paket-Manager finden Sie unter NuGet Paket-Manager.

  3. Entfernen Sie alle vorhandenen Zwischenspeicherungselemente , die die Ausgabespeicherung konfigurieren. Entfernen Sie nicht den kommentarten Zwischenspeicherungsabschnitt, der vom NuGet-Paket hinzugefügt wurde.

  4. Deaktivieren Sie im web.config-Datei den Zwischenspeicherungsabschnitt .

        <!-- Azure Caching output caching provider -->
        <!--Uncomment this section to use Azure Caching for output caching-->
        <!--<caching>
          <outputCache defaultProvider="AFCacheOutputCacheProvider">
            <providers>
              <add name="AFCacheOutputCacheProvider" 
                type="Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache"
                cacheName="default"
                dataCacheClientName="default"
                applicationName="AFCacheOutputCache" />
            </providers>
          </outputCache>
        </caching>-->
    

Die folgende Liste stellt optionale Konfigurationsänderungen zur Verfügung, die sich auf den Ausgabecacheanbieter auswirken.

  • Ändern Sie den gezielten benannten Cache mit dem CacheName-Attribut des Add-Elements .

  • Ändern Sie die Quelle der Cacheclienteinstellungen mit dem DataCacheClientName-Attribut des Add-Elements. Legen Sie dieses Attribut auf den Namen eines vorhandenen DataCacheClient-Abschnitts in der web.config-Datei fest.

  • Ändern Sie das Verhalten des Cacheclients, indem Sie die Einstellungen im zugehörigen DataCacheClient-Abschnitt ändern. Aktivieren Sie beispielsweise die Komprimierung mit dem IsCompressionEnabled-Attribut .

    <dataCacheClient name="default" isCompressionEnabled="true">
    

    Eine Liste der verfügbaren Konfigurationsoptionen finden Sie unter Cacheclientkonfiguration Einstellungen für Azure Managed Cache Service. Beachten Sie, dass die ASP.NET Anbieter für die Zwischenspeicherung keine binären oder benutzerdefinierten Serialisierungstypen unterstützen.

  • Ändern der Einstellungen für den Ausgabecacheanbieter. Eine Liste der verfügbaren Konfigurationsoptionen finden Sie unter ASP.NET Seitenausgabecachekonfiguration Einstellungen für Azure Managed Cache Service.