Schnellstart: Verwenden von Azure Cache for Redis mit einer ASP.NET Core-Web-App
In dieser Schnellstartanleitung binden Sie Azure Cache for Redis in eine ASP.NET Core-Webanwendung ein, die eine Verbindung mit Azure Cache for Redis herstellt, um Daten aus dem Cache zu speichern und abzurufen.
Sie können einen Cacheanbieter in Ihrer ASP.NET Core-Web-App verwenden. Informationen zum schnellen Einstieg mit Redis mit minimalen Änderungen an Ihrem vorhandenen Code finden Sie unter:
- Ausgabecacheanbieter von ASP.NET Core
- Anbieter für verteilten Cache in ASP.NET Core
- Redis-Sitzungsanbieter in ASP.NET Core
Zum Code springen
In diesem Artikel wird beschrieben, wie Sie den Code für eine Beispiel-App ändern, um eine funktionierende App zu erstellen, die eine Verbindung mit Azure Cache for Redis herstellt.
Wenn Sie direkt mit dem Code fortfahren möchten, sehen Sie sich das ASP.NET Core-Schnellstartbeispiel auf GitHub an.
Sie können das GitHub-Repository mit Azure Cache for Redis-Beispielen klonen und dann zum Verzeichnis quickstart/aspnet-core navigieren, um den vollständigen Quellcode für die in diesem Artikel beschriebenen Schritte anzuzeigen.
Das Verzeichnis quickstart/aspnet-core wird auch als Azure Developer CLI-Vorlage konfiguriert. Verwenden Sie das Open-Source-Tool „azd“, um die Bereitstellung aus einer lokalen Umgebung in Azure zu optimieren. Führen Sie optional den Befehl azd up
aus, um automatisch eine Azure Cache for Redis-Instanz bereitzustellen und die lokale Beispiel-App so zu konfigurieren, dass eine Verbindung damit hergestellt wird:
azd up
Erkunden des eShop-Beispiels
Als nächsten Schritt können Sie sich eine echte eShop-Anwendung ansehen, die die ASP.NET Core-Cacheanbieter veranschaulicht: ASP.NET Core eShop mit Redis-Cacheanbietern.
Folgende Features sind enthalten:
- Verteilte Redis-Zwischenspeicherung
- Redis-Sitzungsstatusanbieter
Bereitstellungsanweisungen sind in der Datei README.md im ASP.NET Core-Schnellstartbeispiel auf GitHub enthalten.
Voraussetzungen
- Ein Azure-Abonnement. Kostenloses Konto erstellen
- .NET Core SDK
Erstellen eines Caches
Melden Sie sich zum Erstellen eines Cache beim Azure-Portal an. Wählen Sie im Menü des Portals Ressource erstellen aus.
Geben Sie im Bereich Erste Schritte den Begriff Azure Cache for Redis auf der Suchleiste ein. Navigieren Sie in den Suchergebnissen zu Azure Cache for Redis, und wählen Sie dann Erstellen aus.
Konfigurieren Sie im Bereich Neuer Redis Cache auf der Registerkarte Grundlagen die folgenden Einstellungen für Ihren Cache:
Einstellung Aktion Beschreibung Abonnement Wählen Sie Ihr Azure-Abonnement. Das Abonnement, das zum Erstellen der neuen Instanz von Azure Cache for Redis verwendet werden soll Ressourcengruppe Wählen Sie eine Ressourcengruppe aus, oder wählen Sie Neu erstellen aus, und geben Sie einen Namen für eine neue Ressourcengruppe ein. Ein Name für die Ressourcengruppe, in der Ihr Cache und weitere Ressourcen erstellt werden. Wenn Sie alle Ihre App-Ressourcen in einer Ressourcengruppe zusammenfassen, können Sie sie einfacher gemeinsam verwalten oder löschen. DNS-Name Geben Sie einen eindeutigen Namen ein. Der Cachename muss eine Zeichenfolge von 1 bis 63 Zeichen sein, die nur Zahlen, Buchstaben und Bindestriche enthalten darf. Der Name muss mit einer Zahl oder einem Buchstaben beginnen und enden und darf keine aufeinanderfolgenden Bindestriche enthalten. Der Hostname Ihrer Cache-Instanz ist \<DNS name>.redis.cache.windows.net
.Location Wählen Sie einen Standort aus. Eine Azure-Region, die sich in der Nähe anderer Dienste befindet, die Ihren Cache verwenden Cache-SKU Wählen Sie eine SKU aus. Die SKU bestimmt die Parameter für Größe, Leistung und Features, die für den Cache verfügbar sind. Weitere Informationen finden Sie unter Azure Cache for Redis. Cachegröße Wählen Sie eine Cachegröße aus. Weitere Informationen finden Sie unter Azure Cache for Redis. Wählen Sie die Registerkarte Netzwerk oder Weiter: Netzwerk aus.
Wählen Sie auf der Registerkarte Netzwerk eine Konnektivitätsmethode für den Cache aus.
Wählen Sie die Registerkarte Erweitert oder Weiter: Erweitert aus.
Aktivieren Sie auf der Registerkarte Erweitert das Kontrollkästchen Microsoft Entra-Authentifizierung, um die Microsoft Entra-Authentifizierung zu aktivieren.
Wichtig
Verwenden Sie für optimale Sicherheit nach Möglichkeit Microsoft Entra ID mit verwalteten Identitäten, um Anforderungen für Ihren Cache zu autorisieren. Die Autorisierung mit Microsoft Entra ID und verwalteten Identitäten bietet eine höhere Sicherheit und Benutzerfreundlichkeit als die Autorisierung mit einem Schlüssel für den gemeinsamen Zugriff. Weitere Informationen zur Verwendung verwalteter Identitäten mit Ihrem Cache finden Sie unter Verwenden von Microsoft Entra ID für die Cacheauthentifizierung.
(Optional) Wählen Sie die Registerkarte Tags oder Weiter: Tags aus.
(Optional) Geben Sie auf der Registerkarte Tags einen Tagnamen und den zugehörigen Wert ein, wenn Sie die Cacheressource kategorisieren möchten.
Wählen Sie die Schaltfläche Überprüfen + erstellen aus.
Auf der Registerkarte Überprüfen und erstellen überprüft Azure automatisch Ihre Konfiguration.
Wenn die grüne Meldung Validierung erfolgreich angezeigt wird, wählen Sie Erstellen aus.
Eine neue Cachebereitstellung dauert mehrere Minuten. Sie können den Fortschritt der Bereitstellung im Bereich „Übersicht“ von Azure Cache for Redis überwachen. Wenn als Status der Wert Wird ausgeführt angezeigt wird, kann der Cache verwendet werden.
Abrufen des Hostnamens
Um Ihren Azure Cache for Redis-Server zu verbinden, benötigt der Cacheclient den Hostnamen des Cache und weitere Informationen. Einige Clients verweisen möglicherweise mit geringfügig anderen Namen auf diese Elemente. Sie können den Hostnamen im Azure-Portal abrufen.
- Navigieren Sie im Azure-Portal zu Ihrem Cache.
- Wählen Sie im Dienstmenü die Option Übersicht aus.
- Wählen Sie unter Grundlagen für Hostname das Symbol Kopieren aus, um den Hostnamenwert zu kopieren. Der Hostnamenwert hat das Format
<DNS name>.redis.cache.windows.net
.
Hinzufügen einer neuen Redis-Benutzerzugriffsrichtlinie
Der Identität, die auf Azure Cache for Redis zugreift, muss eine Datenzugriffsrichtlinie zugewiesen sein. In diesem Beispiel weisen Sie demselben Microsoft Entra ID-Konto, mit dem Sie sich auch bei der Azure CLI oder Visual Studio anmelden, eine Datenzugriffsrichtlinie zu.
Navigieren Sie im Azure-Portal zu Ihrem Cache.
Wählen Sie im Dienstmenü unter Einstellungen die Option Datenzugriffskonfiguration aus.
Wählen Sie im Bereich Datenzugriffskonfiguration die Optionen Hinzufügen>Neuer Redis-Benutzer aus.
Wählen Sie im Bereich Neuer Redis-Benutzer die Richtlinie Mitwirkender an Daten und dann Weiter: Redis-Benutzer aus.
Wählen Sie Mitglied auswählen aus, um das Flyoutmenü zu öffnen. Suchen Sie nach Ihrem Benutzerkonto, und wählen Sie es in den Ergebnissen aus.
Wählen Sie Überprüfen + zuweisen aus, um dem ausgewählten Benutzer die Richtlinie zuzuweisen.
Hinzufügen eines lokalen Geheimnisses für den Hostnamen
Führen Sie im Befehlsfenster den folgenden Befehl aus, um ein neues Geheimnis mit dem Namen RedisHostName zu speichern. Ersetzen Sie im Code die Platzhalter (einschließlich der spitzen Klammern) durch den Cachenamen und den primären Zugriffsschlüssel:
dotnet user-secrets set RedisHostName "<cache-name>.redis.cache.windows.net"
Herstellen einer Verbindung mit dem Cache mittels RedisConnection
Die RedisConnection
-Klasse verwaltet die Verbindung mit Ihrem Cache. Die Verbindung wird in dieser Anweisung in HomeController.cs im Ordner Controllers hergestellt:
_redisConnection = await _redisConnectionFactory;
Die Datei RedisConnection.cs enthält oben in der Datei die Namespaces „StackExchange.Redis“ und „Azure.Identity“, um wichtige Typen einzuschließen, um eine Verbindung mit Azure Cache for Redis herzustellen.
using StackExchange.Redis;
using Azure.Identity;
Der Code der RedisConnection
-Klasse stellt sicher, dass immer eine fehlerfreie Verbindung mit dem Cache besteht. Die Verbindung wird über die ConnectionMultiplexer
-Instanz in „StackExchange.Redis“ verwaltet. Die RedisConnection
-Klasse erstellt die Verbindung neu, wenn eine Verbindung getrennt wird und nicht automatisch wiederhergestellt werden kann.
Weitere Informationen finden Sie unter StackExchange.Redis und im Code im GitHub-Repository „StackExchange.Redis“.
Überprüfen der Layoutansichten im Beispiel
Das Homepagelayout für dieses Beispiel ist in der Datei _Layout.cshtml gespeichert. Im nächsten Abschnitt testen Sie den Cache mithilfe des hier hinzugefügten Controllers.
Öffnen Sie Views\Shared\_Layout.cshtml.
Stellen Sie sicher, dass sich die folgende Zeile in
<div class="navbar-header">
befindet:<a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="RedisCache">Azure Cache for Redis Test</a>
Anzeigen von Daten aus dem Cache
Wählen Sie auf der Startseite auf der Navigationsleiste Azure Cache for Redis Test (Azure Cache for Redis-Test) aus, um die Beispielausgabe anzuzeigen.
Erweitern Sie im Projektmappen-Explorer den Ordner Ansichten, und klicken Sie dann mit der rechten Maustaste auf den Ordner Home.
Stellen Sie sicher, dass sich der folgende Code in der Datei RedisCache.cshtml befindet:
@{ ViewBag.Title = "Azure Cache for Redis Test"; } <h2>@ViewBag.Title.</h2> <h3>@ViewBag.Message</h3> <br /><br /> <table border="1" cellpadding="10"> <tr> <th>Command</th> <th>Result</th> </tr> <tr> <td>@ViewBag.command1</td> <td><pre>@ViewBag.command1Result</pre></td> </tr> <tr> <td>@ViewBag.command2</td> <td><pre>@ViewBag.command2Result</pre></td> </tr> <tr> <td>@ViewBag.command3</td> <td><pre>@ViewBag.command3Result</pre></td> </tr> <tr> <td>@ViewBag.command4</td> <td><pre>@ViewBag.command4Result</pre></td> </tr> <tr> <td>@ViewBag.command5</td> <td><pre>@ViewBag.command5Result</pre></td> </tr> </table>
Lokales Ausführen der App
Erstellen Sie in einem Eingabeaufforderungsfenster dann die App mit dem folgenden Befehl:
dotnet build
Führen Sie die App mithilfe dieses Befehls aus:
dotnet run
Rufen Sie in einem Webbrowser
https://localhost:5001
auf.Wählen Sie auf der Navigationsleiste der Webseite Azure Cache for Redis Test (Azure Cache for Redis-Test) aus, um den Cachezugriff zu testen.
Bereinigen von Ressourcen
Wenn Sie die in diesem Artikel erstellten Ressourcen weiterhin verwenden möchten, behalten Sie die Ressourcengruppe bei.
Wenn Sie die Ressourcen nicht mehr benötigen, können Sie die erstellte Azure-Ressourcengruppe löschen, um Kosten im Zusammenhang mit den Ressourcen zu vermeiden.
Warnung
Das Löschen einer Ressourcengruppe kann nicht rückgängig gemacht werden. Beim Löschen einer Ressourcengruppe werden alle darin enthaltenen Ressourcen endgültig gelöscht. Achten Sie daher darauf, dass Sie nicht versehentlich die falsche Ressourcengruppe oder die falschen Ressourcen löschen. Falls Sie die Ressourcen in einer vorhandenen Ressourcengruppe erstellt haben, die Ressourcen enthält, die Sie behalten möchten, können Sie anstelle der Ressourcengruppe alle Ressourcen einzeln löschen.
Löschen einer Ressourcengruppe
Melden Sie sich beim Azure-Portal an, und wählen Sie anschließend Ressourcengruppen aus.
Wählen Sie die zu löschende Ressourcengruppe aus.
Wenn viele Ressourcengruppen vorhanden sind, geben Sie im Feld Nach einem beliebigen Feld filtern den Namen der Ressourcengruppe ein, die Sie für diesen Artikel erstellt haben. Wählen Sie in der Liste der Suchergebnisse die Ressourcengruppe aus.
Wählen Sie die Option Ressourcengruppe löschen.
Geben Sie im Bereich Ressourcengruppe löschen zur Bestätigung den Namen Ihrer Ressourcengruppe ein, und wählen Sie dann Löschen aus.
Innerhalb kurzer Zeit werden die Ressourcengruppe und alle darin enthaltenen Ressourcen gelöscht.