Freigeben über


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.

Es gibt auch Cacheanbieter in .NET Core. Informationen zum schnellen Einstieg mit Redis mit minimalen Änderungen an Ihrem vorhandenen Code finden Sie unter:

Überspringen und mit dem Code auf GitHub fortfahren

Klonen Sie das GitHub-Repository https://github.com/Azure-Samples/azure-cache-redis-samples, und navigieren Sie zum Verzeichnis quickstart/aspnet-core, um den abgeschlossenen Quellcode für die anstehenden Schritte anzuzeigen.

Das Verzeichnis quickstart/aspnet-core wird auch als Azure Developer CLI-Vorlage (azd) 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 eine echte eShop-Anwendung sehen, die die ASP.NET Core-Cacheanbieter veranschaulicht: ASP.NET Core eShop mit Redis-Cacheanbietern.

Zu den Funktionen zählen:

  • Verteiltes Redis-Caching
  • Redis-Sitzungsstatusanbieter

Bereitstellungsanweisungen finden Sie in der README.md-Datei.

Voraussetzungen

Erstellen eines Caches

  1. Um einen Cache zu erstellen, melden Sie sich im Azure-Portal an. Klicken Sie im Menü des Portals auf Ressource erstellen.

    Sceenshot mit hervorgehobener Option „Ressource erstellen“ im linken Navigationsbereich im Azure-Portal.

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

    Screenshot, der Azure Marketplace mit „Azure Cache for Redis“ im Suchfeld zeigt und die Schaltfläche „Erstellen“ hervorgehoben ist.

  3. 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.
  4. Wählen Sie die Registerkarte Netzwerk, oder wählen Sie Weiter: Netzwerk.

  5. Wählen Sie auf der Registerkarte Netzwerk eine Konnektivitätsmethode für den Cache aus.

  6. Wählen Sie die Registerkarte Erweitert oder Weiter: Erweitert aus.

  7. Aktivieren Sie auf der Registerkarte Erweitert das Kontrollkästchen Microsoft Entra-Authentifizierung, um die Microsoft Entra-Authentifizierung zu aktivieren.

    Screenshot: Bereich „Erweitert“ und zur Auswahl stehende Optionen

    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.

  8. (Optional) Wählen Sie die Registerkarte Tags aus, oder wählen Sie Weiter: Tags aus.

  9. Geben Sie optional auf der Registerkarte Tags den Namen und den Wert ein, wenn Sie die Cacheressource kategorisieren möchten.

  10. Wählen Sie die Schaltfläche Überprüfen + erstellen aus.

    Auf der Registerkarte Überprüfen und Erstellen überprüft Azure automatisch Ihre Konfiguration.

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

  1. Wählen Sie im Azure-Portal die Azure Cache for Redis-Instanz aus, in der Sie die tokenbasierte Microsoft Entra-Authentifizierung verwenden möchten.

  2. Wählen Sie im Ressourcen-Menü die Option Authentifizierung aus.

  3. Checken Sie im Arbeitsbereich ein, um zu sehen, ob Microsoft Entra-Authentifizierung aktivieren aktiviert ist. Wenn ja, können Sie fortfahren.

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

    Screenshot der im Ressourcenmenü ausgewählten Authentifizierung und aktivierter Microsoft Entra-Authentifizierung.

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

Hinzufügen der Redis-Zugriffsrichtlinie

Sie müssen der Identität, die auf Azure Cache for Redis zugreift, eine Datenzugriffsrichtlinie zuweisen. 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.

  1. Wählen Sie im Menü „Ressource“ die Option Einstellungen für den Cache und dann Datenzugriffskonfiguration aus.

  2. Wählen Sie auf der Seite Datenzugriffskonfiguration auf der oberen Navigationsleiste Hinzufügen > Neuer Redis-Benutzer aus.

    Screenshot: Bildschirm „Datenzugriffskonfiguration“

  3. Wählen Sie auf der Seite Neuer Redis-Benutzer die Richtlinie Mitwirkender an Daten und dann Weiter: Redis-Benutzer aus.

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

    Screenshot: Registerkarte „Redis-Benutzer“ im Arbeitsbereich mit der mit einem roten Rahmen hervorgehobenen Option „Mitglied auswählen“

  5. 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, nachdem Sie die Platzhalter (einschließlich der spitzen Klammern) durch Ihren Cachenamen und den primären Zugriffsschlüssel ersetzt haben:

dotnet user-secrets set RedisHostName "<cache-name>.redis.cache.windows.net"

Speichern Sie für die Verwendung einer Azure Managed Redis-Instanz (Vorschau) ein neues Geheimnis namens „RedisHostName“ wie im Anschluss gezeigt:

dotnet user-secrets set RedisHostName "<cache-name>.<region>.redis.azure.net"

## Connect to the cache with RedisConnection

The `RedisConnection` class manages the connection to your cache. The connection is made in this statement in `HomeController.cs` in the *Controllers* folder:

```csharp
_redisConnection = await _redisConnectionFactory;

Die RedisConnection.cs-Klasse 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 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.

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.

  1. Öffnen Sie Views\Shared\_Layout.cshtml.

  2. In <div class="navbar-header"> sollte Folgendes zu sehen sein:

    <a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="RedisCache">Azure Cache for Redis Test</a>
    

Screenshot der Willkommensseite

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.

  1. Erweitern Sie im Projektmappen-Explorer den Ordner Ansichten, und klicken Sie dann mit der rechten Maustaste auf den Ordner Home.

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

  1. Führen Sie in Ihrem Befehlsfenster den folgenden Befehl aus, um die App zu erstellen:

    dotnet build
    
  2. Führen Sie die App anschließend mit dem folgenden Befehl aus:

    dotnet run
    
  3. Navigieren Sie in Ihrem Webbrowser zu https://localhost:5001.

  4. Wählen Sie auf der Navigationsleiste der Webseite Azure Cache for Redis Test (Azure Cache for Redis-Test) aus, um den Cachezugriff zu testen.

Screenshot: Lokal abgeschlossener einfacher Test

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

  1. Melden Sie sich beim Azure-Portal an, und wählen Sie anschließend Ressourcengruppen aus.

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

    Screenshot: Liste mit zu löschenden Ressourcengruppen im Arbeitsbereich

  3. Wählen Sie die Option Ressourcengruppe löschen.

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

    Screenshot: Formular, in das der Ressourcenname eingegeben werden muss, um den Löschvorgang zu bestätigen

Daraufhin werden die Ressourcengruppe und alle darin enthaltenen Ressourcen gelöscht.