Schnellstart: Verwenden von Azure Cache for Redis mit einer ASP.NET-Web-App
In dieser Schnellstartanleitung erstellen Sie mit Visual Studio 2019 eine ASP.NET-Webanwendung, die sich mit Azure Cache for Redis verbindet, um Daten aus dem Cache zu speichern und abzurufen. Sie stellen die App dann für Azure App Service bereit.
Überspringen und mit dem Code auf GitHub fortfahren
Klonen Sie das Repository https://github.com/Azure-Samples/azure-cache-redis-samples/tree/main/quickstart/aspnet auf GitHub.
Voraussetzungen
- Azure-Abonnement – Erstellen eines kostenlosen Kontos
- Visual Studio 2019 mit den Workloads ASP.NET und Webentwicklung und Azure-Entwicklung.
Erstellen eines Caches
Als Nächstes erstellen Sie den Cache für die App.
Um einen Cache zu erstellen, melden Sie sich im Azure-Portal an. Klicken Sie im Menü des Portals auf Ressource erstellen.
Geben Sie auf der Seite Erste Schritte den Begriff Azure Cache for Redis in das Suchfeld ein. Suchen Sie in den Suchergebnissen nach 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. Der Name der 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 mit 1 bis 63 Zeichen sein, die nur Zahlen, Buchstaben und Bindestriche enthält. 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 wählen Sie Weiter: Netzwerk.
Wählen Sie auf der Registerkarte Netzwerk eine Konnektivitätsmethode für den Cache aus.
Wählen Sie die Registerkarte Erweitert aus, oder wählen Sie Weiter: Erweitert aus.
Überprüfen oder wählen Sie im Bereich Erweitert basierend auf den folgenden Informationen eine Authentifizierungsmethode aus:
- Standardmäßig ist für einen neuen Basic-, Standard- oder Premium-Cache die Microsoft Entra-Authentifizierung aktiviert und die Authentifizierung mit Zugriffsschlüsseln deaktiviert.
- Für Basic- oder Standard-Caches können Sie sich für die Auswahl eines Nicht-TLS-Ports entscheiden.
- Für Standard- und Premium-Caches können Sie Verfügbarkeitszonen aktivieren. Verfügbarkeitszonen können nach der Erstellung des Caches nicht deaktiviert werden.
- Konfigurieren Sie für ein Premium-Cache die Einstellungen für einen Nicht-TLS-Port, das Clustering, die verwaltete Identität und die Datenpersistenz.
Wichtig
Für eine optimale Sicherheit empfehlen wir, Microsoft Entra ID mit verwalteten Identitäten zu verwenden, um Anforderungen nach Möglichkeit 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 gemeinsam verwendetem Schlüssel. Weitere Informationen zum Verwenden verwalteter Identitäten mit Ihren Caches finden Sie unter Verwenden von Microsoft Entra ID für die Cacheauthentifizierung.
(Optional) Wählen Sie die Registerkarte Tags aus, oder wählen Sie Weiter: Tags aus.
Geben Sie optional auf der Registerkarte Tags den Namen und den 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 Azure Cache for Redis -Übersichtsbereich überwachen. Wenn der Status Wird ausgeführt anzeigt, kann der Cache verwendet werden.
Aktivieren der auf Microsoft Entra ID basierenden Authentifizierung in Ihrem Cache
Wenn Sie über einen Cache verfügen, überprüfen Sie, ob die Microsoft Entra-Authentifizierung aktiviert wurde. Wenn nicht, aktivieren Sie sie. Wir empfehlen, Microsoft Entra ID für Ihre Apps zu verwenden.
Wählen Sie im Azure-Portal die Azure Cache for Redis-Instanz aus, in der Sie die tokenbasierte Microsoft Entra-Authentifizierung verwenden möchten.
Wählen Sie im Ressourcen-Menü die Option Authentifizierung aus.
Checken Sie im Arbeitsbereich ein, um zu sehen, ob Microsoft Entra-Authentifizierung aktivieren aktiviert ist. Wenn ja, können Sie fortfahren.
Wählen Sie Microsoft Entra-Authentifizierung aktivieren aus, und geben Sie einen gültigen Benutzernamen ein. Dem eingegebenen Benutzer wird automatisch standardmäßig die Datenbesitzer-Zugriffsrichtlinie zugewiesen, wenn Sie Speichernauswählen. Sie können auch eine verwaltete Identität oder einen Dienstprinzipal eingeben, um eine Verbindung mit Ihrer Cache-Instanz herzustellen.
In einem Popupdialogfeld wird angezeigt, in dem Sie gefragt werden, ob Sie Ihre Konfiguration aktualisieren möchten, und Sie werden informiert, dass es mehrere Minuten dauert. Wählen Sie Ja aus.
Wichtig
Sobald der Aktivierungsvorgang abgeschlossen ist, werden die Knoten in Ihrer Cache-Instanz neu gestartet, um die neue Konfiguration zu laden. Es wird empfohlen, diesen Vorgang während der Wartung oder außerhalb Ihrer Spitzenarbeitszeiten durchzuführen. Dieser Vorgang kann bis zu 30 Minuten in Anspruch nehmen.
Informationen zur Verwendung der Microsoft Entra-ID mit Azure CLI finden Sie auf den Referenzseiten für Identität.
So bearbeiten Sie die Datei CacheSecrets.config
Erstellen Sie auf Ihrem Computer eine Datei mit dem Namen CacheSecrets.config. Speichern Sie sie an einem Ort, an dem sie nicht mit dem Quellcode Ihrer Beispielanwendung eingecheckt wird. In diesem Schnellstart befindet sich die Datei CacheSecrets.config im Verzeichnis C:\AppSecrets\CacheSecrets.config.
Bearbeiten Sie die Datei Web.config. Fügen Sie anschließend folgenden Inhalt hinzu:
<appSettings> <add key="RedisHostName" value="<cache-hostname>:<port-number>"/> </appSettings>
Ersetzen Sie
<cache-hostname>
mit Ihrem Cache-Hostnamen, wie er im Blatt „Übersicht“ des Azure-Portals angezeigt wirdErsetzen Sie
<port-number>
mit Ihrer Cache-Hostportnummer.Speichern Sie die Datei .
Aktualisieren der MVC-Anwendung
In diesem Abschnitt sehen Sie eine MVC-Anwendung mit einer Ansicht, in der ein einfacher Test für Azure Cache for Redis angezeigt wird. Die MVC-Anwendung kann eine Verbindung mit Ihrer Azure Managed Redis (Vorschau)-Instanz herstellen, wenn die Konfiguration „RedisHostName“ auf Ihre Azure Managed Redis-Instanz verweist.
Installieren von StackExchange.Redis
Ihre Lösung benötigt das Paket StackExchange.Redis
für die Ausführung. Installieren Sie es wie folgt:
Um die App für die Verwendung des StackExchange.Redis-NuGet-Pakets für Visual Studio zu konfigurieren, wählen Sie Extras > NuGet-Paket-Manager > Paket-Manager-Konsole aus.
Führen Sie im Fenster
Package Manager Console
den folgenden Befehl aus:Install-Package Microsoft.Azure.StackExchangeRedis
Das NuGet-Paket wird heruntergeladen, und die entsprechenden Assemblyverweise werden Ihrer Clientanwendung hinzugefügt, um mit dem
Microsoft.Azure.StackExchangeRedis
-Client auf Azure Cache for Redis zuzugreifen.
Verbinden mit dem Cache mittels RedisConnection
Die Verbindung mit Ihrem Cache wird von der RedisConnection
-Klasse verwaltet. Die Verbindung wird zuerst in dieser Anweisung von ContosoTeamStats/Controllers/HomeController.cs
hergestellt:
private static Task<RedisConnection> _redisConnectionFactory = RedisConnection.InitializeAsync(redisHostName: ConfigurationManager.AppSettings["RedisHostName"].ToString());
Sie sehen in RedisConnection.cs
, dass der Namespace StackExchange.Redis
dem Code hinzugefügt wurde. Dies ist für die RedisConnection
-Klasse erforderlich.
using StackExchange.Redis;
Der RedisConnection
-Code stellt sicher, dass immer eine fehlerfreie Verbindung mit dem Cache besteht, indem die ConnectionMultiplexer
-Instanz von StackExchange.Redis
verwaltet wird. Die RedisConnection
-Klasse erstellt die Verbindung neu, wenn eine Verbindung verloren geht und diese nicht automatisch wieder hergestellt werden kann.
Die folgende Codezeile verwendet Microsoft Entra ID, um eine Verbindung mit Azure Cache for Redis oder Azure Managed Redis (Vorschau) ohne Kennwort herzustellen.
var configurationOptions = await ConfigurationOptions.Parse($"{_redisHostName}").ConfigureForAzureWithTokenCredentialAsync(new DefaultAzureCredential());
Weitere Informationen finden Sie unter StackExchange.Redis sowie den Code in einem GitHub-Repository.
Layoutansichten im Beispiel
Das Homepagelayout für dieses Beispiel ist in der Datei _Layout.cshtml gespeichert. Auf dieser Seite beginnen Sie mit dem tatsächlichen Cachetest, indem Sie auf der Seite auf Azure Cache for Redis Test (Azure Cache for Redis-Test) klicken.
Erweitern Sie im Projektmappen-Explorer den Ordner Ansichten>Freigegeben. Öffnen Sie anschließend die Datei _Layout.cshtml.
Sie sehen die folgende Zeile in
<div class="navbar-header">
:@Html.ActionLink("Azure Cache for Redis Test", "RedisCache", "Home", new { area = "" }, new { @class = "navbar-brand" })
Anzeigen von Daten aus dem Cache
Wählen Sie auf der Startseite 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.
Dieser Code sollte in der Datei RedisCache.cshtml angezeigt werden.
@{ 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
Standardmäßig ist das Projekt für das lokale Hosten der App in IIS Express zum Testen und Debuggen konfiguriert.
So führen Sie die App lokal aus
Wählen Sie in Visual Studio Debuggen>Debugging starten aus, um die App zum Testen und Debuggen lokal zu erstellen und zu starten.
Wählen Sie im Browser auf der Navigationsleiste Azure Cache for Redis Test (Azure Cache for Redis-Test) aus.
Im folgenden Beispiel hat der
Message
-Schlüssel zuvor einen zwischengespeicherten Wert aufgewiesen, der im Portal über die Azure Cache for Redis-Konsole festgelegt wurde. Die App hat diesen zwischengespeicherten Wert aktualisiert. Außerdem hat die App die BefehlePING
undCLIENT LIST
ausgeführt.
Veröffentlichen und Ausführen in Azure
Nachdem Sie die App erfolgreich lokal getestet haben, stellen Sie die App für Azure bereit und führen sie in der Cloud aus.
So veröffentlichen Sie die App in Azure
Klicken Sie in Visual Studio im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten. Wählen Sie anschließend Veröffentlichen aus.
Wählen Sie Microsoft Azure App Service, Neu erstellen und anschließend Veröffentlichen aus.
Nehmen Sie im Dialogfeld App Service erstellen folgende Änderungen vor:
Einstellung Empfohlener Wert BESCHREIBUNG App-Name Verwenden Sie den Standardwert. Bei der Bereitstellung der App für Azure wird der App-Name als Hostname für die App verwendet. Dem Namen kann bei Bedarf ein Zeitstempelsuffix hinzugefügt werden, um ihn eindeutig zu machen. Abonnement Wählen Sie Ihr Azure-Abonnement aus. Für dieses Abonnement werden alle damit verbundenen Hostingkosten berechnet. Wenn Sie über mehrere Azure-Abonnements verfügen, stellen Sie sicher, dass das gewünschte Abonnement ausgewählt ist. Ressourcengruppe Verwenden Sie die Ressourcengruppe, in der Sie den Cache erstellt haben (z.B. TestResourceGroup). Die Ressourcengruppe hilft Ihnen, alle Ressourcen als Gruppe zu verwalten. Wenn Sie die App später löschen möchten, können Sie die Gruppe einfach löschen. App Service-Plan Wählen Sie Neu aus, und erstellen Sie anschließend einen neuen App Service-Plan mit dem Namen TestingPlan.
Verwenden Sie den gleichen Speicherort, den Sie beim Erstellen Ihres Caches verwendet haben.
Wählen Sie Free für die Größe aus.Mit einem App Service-Plan wird ein Satz von Computeressourcen für die Ausführung einer Web-App definiert. Nachdem Sie die App Service-Hostingeinstellungen konfiguriert haben, wählen Sie Erstellen aus.
Überwachen Sie in Visual Studio das Fenster Ausgabe, um den Veröffentlichungsstatus anzuzeigen. Nach der Veröffentlichung der App wird die URL für die App protokolliert:
Hinzufügen der App-Einstellung für den Cache
Fügen Sie nach dem Veröffentlichen der neuen App eine neue App-Einstellung hinzu. Diese Einstellung wird zum Speichern der Cacheverbindungsinformationen verwendet.
So fügen Sie die App-Einstellung hinzu
Geben Sie oben im Azure-Portal in der Suchleiste den App-Namen ein, um nach der neuen App zu suchen, die Sie erstellt haben.
Fügen Sie eine neue App-Einstellung mit dem Namen CacheConnection hinzu, die von der App zum Herstellen einer Verbindung mit dem Cache verwendet wird. Verwenden Sie den gleichen Wert, den Sie für
RedisHostName
in der Datei web.config konfiguriert haben.
Ausführen der App in Azure
Navigieren Sie in Ihrem Browser zur URL für die App. Die URL wird in Visual Studio im Fenster „Ausgabe“ in den Ergebnissen des Veröffentlichungsvorgangs angezeigt. Sie wird auch im Azure-Portal auf der Seite „Übersicht“ der von Ihnen erstellten App angegeben.
Wählen Sie auf der Navigationsleiste Azure Cache for Redis Test (Azure Cache for Redis-Test) aus, um den Cachezugriff zu testen. Die Vorgehensweise ist die gleiche wie bei der lokalen Version.
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 ansonsten löschen, um Kosten zu vermeiden.
Wichtig
Das Löschen einer Ressourcengruppe kann nicht rückgängig gemacht werden. Beim Löschen einer Ressourcengruppe werden alle darin enthaltenen Ressourcen unwiderruflich 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 wollen, können Sie jede Ressource einzeln löschen, statt die Ressourcengruppe zu löschen.
So löschen Sie eine Ressourcengruppe
Melden Sie sich beim Azure-Portal an, und wählen Sie anschließend Ressourcengruppen aus.
Wählen Sie die Ressourcengruppe aus, die Sie löschen möchten.
Wenn viele Ressourcengruppen vorhanden sind, verwenden Sie das Feld Nach einem beliebigen Feld filtern..., und geben Sie den Namen Ihrer Ressourcengruppe ein, die Sie für diesen Artikel erstellt haben. Wählen Sie die Ressourcengruppe in der Ergebnisliste aus.
Wählen Sie die Option Ressourcengruppe löschen.
Sie werden aufgefordert, das Löschen der Ressourcengruppe zu bestätigen. Geben Sie den Namen Ihrer Ressourcengruppe ein, und wählen Sie Löschen aus.
Daraufhin werden die Ressourcengruppe und alle darin enthaltenen Ressourcen gelöscht.