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.
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.
configSections
werden zwei Abschnitte namensdataCacheClients
undcacheDiagnostics
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>
Ein Abschnitt
dataCacheClients
wird dem Abschnittconfiguration
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.
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.
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.cscfg
hinzu. Im folgenden Beispiel handelt es sich um den WebRole1
Abschnitt einer Datei mit einem ServiceConfiguration.cscfg
ClientDiagnosticLevel 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.
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.
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.
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.
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.
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.
Entfernen Sie alle vorhandenen Zwischenspeicherungselemente , die die Ausgabespeicherung konfigurieren. Entfernen Sie nicht den kommentarten Zwischenspeicherungsabschnitt, der vom NuGet-Paket hinzugefügt wurde.
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.