Freigeben über


Schnellstart: Verwenden von Azure 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

Erstellen einer Azure Managed Redis-Instanz (Vorschau)

  1. Melden Sie sich zum Erstellen einer Azure Managed Redis-Instanz (Vorschau) beim Azure-Portal an, und wählen Sie Ressource erstellen aus.

  2. Geben Sie auf der Seite Neu im Suchfeld Azure Cache for Redis ein.

  3. Konfigurieren Sie auf der Seite Neuer Redis Cache die Einstellungen für den neuen Cache.

    Einstellung Wert auswählen BESCHREIBUNG
    Abonnement Öffnen Sie die Dropdownliste, und wählen Sie Ihr Abonnement aus. Das Abonnement, unter dem diese neue Azure Managed Redis-Instanz erstellt wird.
    Ressourcengruppe Öffnen Sie die Dropdownliste, und 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 Namen ein, der in der Region eindeutig ist. Der Cachename muss zwischen 1 und 63 Zeichen lang sein, wenn er mit dem Regionsnamen des Cache kombiniert wird, und darf nur Ziffern, Buchstaben und Bindestriche enthalten. (Wenn der Cachename weniger als 45 Zeichen lang ist, sollte er in allen derzeit verfügbaren Regionen funktionieren.) 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\>.\<Azure region\>.redis.azure.net.
    Location Öffnen Sie die Dropdownliste, und wählen Sie einen Standort aus. Azure Managed Redis ist in ausgewählten Azure-Regionen verfügbar.
    Cachetyp Wählen Sie in der Dropdownliste die Leistungsstufe und die Cachegröße aus. Die Stufe bestimmt die Leistung der Redis-Instanz, während die Cachegröße den zur Datenspeicherung verfügbaren Arbeitsspeicher bestimmt. Einen Leitfaden zum Auswählen der richtigen Leistungsstufe finden Sie unter Auswählen der richtigen Dienstebene.

    Screenshot: Registerkarte „Grundlagen“ in Azure Managed Redis

  4. Wählen Sie Weiter: Netzwerk aus, um einen öffentlichen oder privaten Endpunkt auszuwählen.

  5. Klicken Sie auf Weiter: Erweitert.

    Konfigurieren Sie alle Redis-Module, die Sie der Instanz hinzufügen möchten.

    Folgendes gilt standardmäßig für neue verwaltete Caches:

    • Microsoft Entra ID ist aktiviert.
    • Die Authentifizierung mit Zugriffsschlüsseln ist aus Sicherheitsgründen deaktiviert.

    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.

    Legen Sie Clusteringrichtlinie auf Enterprise für einen nicht gruppierten Cache fest oder OSS für einen gruppierten Cache. Weitere Informationen zum Auswählen einer Clusterrichtlinie finden Sie unter Clusterrichtlinie.

    Screenshot: Registerkarte „Erweitert“ in Azure Managed Redis

    Bei Verwendung der aktiven Georeplikation muss diese während der Erstellung konfiguriert werden. Weitere Informationen finden Sie unter Konfigurieren der aktiven Georeplikation für Azure Managed Redis-Instanzen.

    Wichtig

    Sie können die Clusterrichtlinie einer Azure Managed Redis-Instanz (Vorschau) nach der Erstellung nicht mehr ändern. Wenn Sie RediSearch verwenden, ist die Enterprise-Clusterrichtlinie erforderlich, und NoEviction wird die einzige Entfernungsrichtlinie unterstützt.

    Wichtig

    Wenn Sie diese Cacheinstanz in einer Georeplikationsgruppe verwenden, können Entfernungsrichtlinien nach der Erstellung der Instanz nicht mehr geändert werden. Achten Sie darauf, die Entfernungsrichtlinie Ihrer primären Knoten zu kennen, bevor Sie den Cache erstellen. Weitere Informationen zur aktiven Georeplikation finden Sie unter Voraussetzungen für die aktive Georeplikation.

    Wichtig

    Module können nach dem Erstellen einer Cache-Instanz nicht mehr geändert werden. Module müssen zum Zeitpunkt der Erstellung einer Azure Cache for Redis-Instanz aktiviert sein. Es gibt keine Option, die Konfiguration eines Moduls zu aktivieren, nachdem Sie einen Cache erstellt haben.

  6. Wählen Sie Weiter: Tags aus, und überspringen Sie den Schritt.

  7. Klicken Sie auf Weiter: Überprüfen + erstellen.

  8. Überprüfen Sie die Einstellungen, und wählen Sie Erstellen aus.

    Das Erstellen der Redis-Instanz dauert einige Minuten. Sie können den Fortschritt auf der Seite Übersicht von Azure Managed Redis überwachen. Wenn Wird ausgeführt als Status angezeigt wird, ist der Cache einsatzbereit.

Erstellen einer Azure Cache for Redis-Instanz

  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 aus, oder wählen Sie Weiter: Erweitert aus.

  7. Überprüfen oder wählen Sie im Bereich Erweitert basierend auf den folgenden Informationen eine Authentifizierungsmethode aus:

    Screenshot mit dem Bereich „Erweitert“ und den verfügbaren Optionen, die Sie auswählen können.

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

  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.

Verwenden der Microsoft Entra ID-Authentifizierung in Ihrem Cache

Bei Azure Redis-Caches ist mit Ausnahme der Tarife „Enterprise“ und „Enterprise Flash“ standardmäßig die Microsoft Entra-Authentifizierung aktiviert. Zugriffsschlüssel sind standardmäßig deaktiviert.

Wichtig

Microsoft empfiehlt die Verwendung der Microsoft Entra ID-Authentifizierung als sicherste Authentifizierung anstelle von Kennwörtern oder Zugriffsschlüsseln. Bei der in diesem Abschnitt des Artikels beschriebenen Authentifizierung werden Zugriffsschlüssel verwendet, die ein sehr hohes Vertrauen in die Anwendung erfordern und Risiken nach sich ziehen, die bei Verwendung von Microsoft Entra ID nicht auftreten. Verwenden Sie den Ansatz in diesem Dokument nur, wenn die Microsoft Entra ID-Authentifizierung nicht geeignet ist.

  1. Wählen Sie im Azure-Portal den Cache aus, für den Sie die tokenbasierte Microsoft Entra-Authentifizierung verwenden möchten.

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

  3. Wählen Sie Mitglied auswählen aus, und geben Sie den Namen eines gültigen Benutzers 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.

Weitere Informationen zur Verwendung von Microsoft Entra ID mit der Azure CLI finden Sie auf den Referenzseiten zu Identitäten.

Installieren der Bibliothek für die Verwendung der Microsoft Entra ID-Authentifizierung

Die Bibliothek Azure.StackExchange.Redis enthält die Microsoft Entra ID-Authentifizierungsmethode zum Herstellen einer Verbindung mit Azure Redis-Diensten mithilfe von Microsoft Entra ID. Sie gilt für alle Instanzen von Azure Cache for Redis, Azure Cache for Redis Enterprise und Azure Managed Redis (Vorschau).

  1. Öffnen Sie Ihr Projekt in Visual Studio.

  2. Klicken Sie mit der rechten Maustaste auf das Projekt, und wählen Sie NuGet-Pakete verwalten... aus.

  3. Suchen Sie nach Microsoft.Azure.StackExchangeRedis.

  4. Klicken Sie auf die Schaltfläche Installieren, um die Installation durchzuführen.

  5. Akzeptieren Sie alle Inhalte, für die Sie eine Aufforderung erhalten, um die Installation abzuschließen.

Herstellen einer Verbindung mit dem Cache mithilfe von Microsoft Entra ID

  1. Nehmen Sie die Bibliotheken in Ihren Code auf.

    using Azure.Identity;
    using StackExchange.Redis
    
  2. Verwenden Sie die Azure-Standardanmeldeinformationen zum Authentifizieren der Clientverbindung. Auf diese Weise kann Ihr Code die Anmeldeinformationen des angemeldeten Benutzers verwenden, wenn er lokal ausgeführt wird, und eine von Azure verwaltete Identität, wenn er in Azure ohne Codeänderung ausgeführt wird.

var configurationOptions = await ConfigurationOptions.Parse($"{_redisHostName}").ConfigureForAzureWithTokenCredentialAsync(new DefaultAzureCredential());
ConnectionMultiplexer _newConnection = await ConnectionMultiplexer.ConnectAsync(configurationOptions);
IDatabase Database = _newConnection.GetDatabase();

So bearbeiten Sie die Datei web.config

  1. Bearbeiten Sie die Datei web.config, indem Sie den folgenden Inhalt hinzufügen:

    <appSettings>
        <add key="RedisHostName" value="<cache-hostname-with-portnumber>"/>
    </appSettings>
    
  2. Ersetzen Sie <cache-hostname> durch Ihren Cache-Hostnamen, wie er in der Übersicht im Menü „Ressource“ des Azure-Portals angezeigt wird.

    Beispielsweise durch Azure Managed Redis oder die Unternehmensebenen: my-redis.eastus.azure.net:10000

  3. Speichern Sie die Datei.

Weitere Informationen finden Sie unter StackExchange.Redis sowie den Code in einem GitHub-Repository.

So bearbeiten Sie die Datei web.config

  1. Bearbeiten Sie die Datei web.config, indem Sie den folgenden Inhalt hinzufügen:

    <appSettings>
        <add key="RedisHostName" value="<cache-hostname-with-portnumber>"/>
    </appSettings>
    
  2. Ersetzen Sie <cache-hostname> durch Ihren Cache-Hostnamen, wie er in der Übersicht im Menü „Ressource“ des Azure-Portals angezeigt wird.

    Beispielsweise durch Azure Cache for Redis, my-redis.eastus.azure.net:6380

  3. Speichern Sie die Datei.

Weitere Informationen finden Sie unter StackExchange.Redis sowie den Code in einem GitHub-Repository.

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

  1. Wählen Sie in Visual Studio Debuggen>Debugging starten aus, um die App zum Testen und Debuggen lokal zu erstellen und zu starten.

  2. Wählen Sie im Browser auf der Navigationsleiste Azure Cache for Redis Test (Azure Cache for Redis-Test) aus.

  3. 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 Befehle PING und CLIENT LIST ausgeführt.

    Screenshot eines einfachen abgeschlossenen lokalen Tests.

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

  1. Klicken Sie in Visual Studio im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten. Wählen Sie anschließend Veröffentlichen aus.

    Screenshot zeigt die Schaltfläche „Veröffentlichen“.

  2. Wählen Sie Microsoft Azure App Service, Neu erstellen und anschließend Veröffentlichen aus.

    Screenshot zeigt, wie in App Service veröffentlicht wird.

  3. Nehmen Sie im Dialogfeld App Service erstellen folgende Änderungen vor:

    Einstellung Empfohlener Wert BESCHREIBUNG
    App-Name Verwenden Sie den Standardwert. Der App-Name ist der Hostname für die App bei der Bereitstellung in Azure. 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.

    Screenshot des Dialogfelds „App Service“.

  4. Nachdem Sie die App Service-Hostingeinstellungen konfiguriert haben, wählen Sie Erstellen aus.

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

    Screenshot des Veröffentlichens von Informationen im Ausgabebereich.

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

  1. Um die neu erstellte App zu finden, geben Sie oben im Azure-Portal in der Suchleiste den App-Namen ein.

    Screenshot zeigt, wie die App im Azure-Portal zu finden ist.

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

  1. 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. Die URL wird auch im Azure-Portal auf der Seite „Übersicht“ der von Ihnen erstellten App angegeben.

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

  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.