Freigeben über


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 eine Verbindung mit Azure Cache for Redis herstellt, um Daten im Cache zu speichern und daraus abzurufen. Sie stellen die App dann für Azure App Service bereit.

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 Beispielcode fortfahren möchten, finden Sie im ASP.NET-Schnellstartbeispiel auf GitHub weitere Informationen.

Voraussetzungen

Erstellen eines Caches

Als Nächstes erstellen Sie den Cache, der mit der App verwendet werden soll.

  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 Azure Cache for Redis, und wählen Sie dann Erstellen aus.

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

  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 von 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: Netzwerke aus.

  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:

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

  9. Geben Sie optional auf der Registerkarte Kategorien 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.

Der neue Cache wird bereitgestellt. Dies dauert einige Minuten. Sie können den Fortschritt der Bereitstellung im Azure Cache for Redis-Übersichtsbereich überwachen. Wenn als Status der Wert Wird ausgeführt angezeigt wird, kann der Cache verwendet werden.

Abrufen des Hostnamens, der Ports und des Zugriffsschlüssels

Um Ihren Azure Cache for Redis-Server zu verbinden, benötigt der Cacheclient den Hostnamen des Caches, die Ports und einen Zugriffsschlüssel. Einige Clients verweisen möglicherweise auf diese Elemente, indem sie geringfügig andere Namen verwenden. Sie können den Hostnamen, Ports und Schlüssel im Azure-Portal abrufen.

  • So rufen Sie einen Zugriffsschlüssel für Ihren Cache ab:

    1. Wechseln Sie im Azure-Portal zu Ihrem Cache.
    2. Wählen Sie im Dienstmenü unter Einstellungen die Option Authentifizierung aus.
    3. Wählen Sie im Bereich Authentifizierung die Registerkarte Zugriffsschlüssel aus.
    4. Um den Wert für einen Zugriffsschlüssel zu kopieren, wählen Sie im Schlüsselfeld das Symbol Kopieren aus.

    Screenshot, der zeigt, wie Sie einen Zugriffsschlüssel für eine Instanz von Azure Cache for Redis suchen und kopieren.

  • So rufen Sie den Hostnamen und die Ports für Ihren Cache ab:

    1. Wechseln Sie im Azure-Portal zu Ihrem Cache.
    2. Wählen Sie im Dienstmenü Übersicht aus.
    3. Wählen Sie unter Grundlegende Features für den Hostnamen das Symbol Kopieren aus, um den Hostnamenwert zu kopieren. Der Hostnamenwert weist das Format <DNS name>.redis.cache.windows.net auf.
    4. Wählen Sie für Ports das Symbol Kopieren aus, um die Portwerte zu kopieren.

    Screenshot, der zeigt, wie Sie den Hostnamen und die Ports für eine Instanz von Azure Cache for Redis suchen und kopieren.

Bearbeiten der Datei „CacheSecrets.config“

  1. 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 Ordner C:\AppSecrets\.

  2. Bearbeiten Sie die Datei CacheSecrets.config, und fügen Sie ihr folgende Inhalte hinzu.

    Im Code:

    • Ersetzen Sie <cache-name> durch den Cachehostnamen.

    • Ersetzen Sie <access-key> durch den Primärzugriffsschlüssel für Ihren Cache.

      Tipp

      Sie können den sekundären Zugriffsschlüssel bei der Schlüsselrotation als alternativen Schlüssel verwenden, während Sie den primären Zugriffsschlüssel neu generieren.

    <appSettings>
        <add key="CacheConnection" value="<cache-name>.redis.cache.windows.net,abortConnect=false,ssl=true,allowAdmin=true,password=<access-key>"/>
    </appSettings>
    
  3. Speichern Sie die Datei .

Aktualisieren der MVC-Anwendung

In diesem Abschnitt zeigt eine MVC-Anwendung (Model View Controller) einen einfachen Test für die Verbindung mit Azure Cache for Redis an.

So stellt die Datei „web.config“ eine Verbindung mit dem Cache her

Wenn Sie die Anwendung lokal ausführen, werden die Informationen in der Datei CacheSecrets.config verwendet, um eine Verbindung mit Ihrer Azure Cache for Redis-Instanz herzustellen. Später können Sie diese Anwendung in Azure bereitstellen. Zu diesem Zeitpunkt konfigurieren Sie eine App-Einstellung in Azure, die von der Anwendung statt der Konfigurationsdatei verwendet wird, um die Cacheverbindungsinformationen abzurufen.

Weil die Datei CacheSecrets.config nicht mit Ihrer Anwendung in Azure bereitgestellt wird, verwenden Sie die Datei nur, wenn Sie die Anwendung lokal testen. Speichern Sie diese Informationen so sicher wie möglich, um missbräuchlichen Zugriff auf Ihre Cachedaten zu verhindern.

Aktualisieren der Datei „Web.config“

  1. Öffnen Sie im Projektmappen-Explorer die Datei web.config.

    Screenshot der Datei „web.config“ im Visual Studio-Projektmappen-Explorer.

  2. Legen Sie in der Datei web.config das Element <appSettings> für das lokale Ausführen der Anwendung fest:

    <appSettings file="C:\AppSecrets\CacheSecrets.config">

Die ASP.NET-Laufzeit führt die Inhalte der externen Datei mit dem Markup im <appSettings>-Element zusammen. Falls die angegebene Datei nicht gefunden wird, wird das Dateiattribut ignoriert. Ihre vertraulichen Daten (die Verbindungszeichenfolge für Ihren Cache) sind nicht Bestandteil des Quellcodes für die Anwendung. Die Datei CacheSecrets.config wird bei der Bereitstellung der Web-App in Azure nicht bereitgestellt.

Installieren von StackExchange.Redis

Ihre Lösung benötigt das Paket StackExchange.Redis für die Ausführung.

So installieren Sie das StackExchange.Redis-Paket

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

  2. Führen Sie im Fenster „Paket-Manager-Konsole“ den folgenden Befehl aus:

    Install-Package StackExchange.Redis
    

Das NuGet-Paket wird heruntergeladen, und die entsprechenden Assemblyverweise werden Ihrer Clientanwendung hinzugefügt, um mit dem StackExchange.Redis-Client auf Azure Cache for Redis zuzugreifen.

Herstellen einer Verbindung mit dem Cache mittels RedisConnection

Die Verbindung mit Ihrem Cache wird von der RedisConnection-Klasse verwaltet. Die Verbindung wird zuerst in dieser Anweisung hergestellt, die sich in ContosoTeamStats/Controllers/HomeController.cs befindet:

   private static Task<RedisConnection> _redisConnectionFactory = RedisConnection.InitializeAsync(connectionString: ConfigurationManager.AppSettings["CacheConnection"].ToString()););

Auf den Wert des CacheConnection-Geheimnisses wird über den Geheimnis-Manager-Konfigurationsanbieter zugegriffen, und der Wert wird dann als Kennwortparameter verwendet.

In RedisConnection.cs können Sie sehen, dass der StackExchange.Redis-Namespace dem Code hinzugefügt wird. Für die RedisConnection-Klasse ist der Namespace erforderlich.

using StackExchange.Redis;

Der RedisConnection-Code 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 verloren geht und nicht automatisch wiederhergestellt werden kann.

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

Überprüfen der 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 Azure Cache for Redis Test auswählen.

  1. Wählen Sie im Projektmappen-Explorer Ansichten aus, und klicken Sie dann mit der rechten Maustaste auf den Ordner Freigegeben. Öffnen Sie anschließend die Datei _Layout.cshtml.

  2. Stellen Sie sicher, dass sich die folgende Zeile in <div class="navbar-header"> befindet:

    @Html.ActionLink("Azure Cache for Redis Test", "RedisCache", "Home", new { area = "" }, new { @class = "navbar-brand" })
    

    Screenshot der Willkommens- und Navigationsoptionen auf einer Webseite.

Anzeigen von Daten aus dem Cache

Wählen Sie auf der Startseite Azure Cache for Redis Test aus, um die Beispielausgabe anzuzeigen.

  1. Wählen Sie im Projektmappen-Explorer Ansichten aus, und klicken Sie dann mit der rechten Maustaste auf den Ordner Start.

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

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 Tests, der lokal abgeschlossen wurde.

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, und wählen Sie Veröffentlichen aus.

    Screenshot des hervorgehobenen Menübefehls „Veröffentlichen“ in Azure.

  2. Wählen Sie Microsoft Azure App Service>Neu erstellen>Veröffentlichen aus.

    Screenshot der Menüoptionen, die für die Veröffentlichung in App Service festgelegt werden.

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

    Einstellung Aktion 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 ein Zeitstempelsuffix hinzugefügt werden, um den App-Namen eindeutig zu machen.
    Abonnement Wählen Sie Ihr Azure-Abonnement. 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, mit 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 Ressourcengruppe löschen, um alle zugehörigen Ressourcen zu 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 denselben Wert für Speicherort, den Sie beim Erstellen des Caches verwendet haben.
    Wählen Sie als Größe den Wert Frei aus.
    Mit einem App Service-Plan wird ein Satz von Computeressourcen für die Ausführung einer Web-App definiert.

    Screenshot des App Service-Dialogfelds in Azure.

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

  5. Überprüfen Sie im Ausgabefenster den Veröffentlichungsstatus. Nach der Veröffentlichung der App wird die URL für die App als Ausgabe angezeigt:

    Screenshot, der das Ausgabefenster für die Veröffentlichung in Visual Studio zeigt.

Hinzufügen einer App-Einstellung für den Cache

Fügen Sie nach dem Veröffentlichen der neuen App eine neue App-Einstellung im Azure-Portal hinzu. Diese Einstellung wird zum Speichern der Cacheverbindungsinformationen verwendet.

So fügen Sie die App-Einstellung hinzu:

  1. Geben Sie im Azure-Portal in der Suchleiste den Namen der App ein.

    Screenshot: Suchen nach einer App im Azure-Portal.

  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 CacheConnection in der Datei CacheSecrets.config verwendet haben. Der Wert enthält den Cachehostnamen und den Zugriffsschlüssel.

    Screenshot: Hinzufügen einer App-Einstellung.

Ausführen der App in Azure

  1. Navigieren Sie in Ihrem Browser zur URL für die App. Die URL wird im Visual Studio-Ausgabefenster in den Ergebnissen des Veröffentlichungsvorgangs angezeigt. Sie wird auch im Azure-Portal im Übersichtsbereich Ihrer App angezeigt.

  2. Wählen Sie in der Navigationsleiste der Webseite 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 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 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.

Löschen einer Ressourcengruppe

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

  2. Wählen Sie die zu löschende Ressourcengruppe aus.

    Wenn viele Ressourcengruppen vorhanden sind, verwenden Sie das Feld Nach einem beliebigen Feld filtern, und geben Sie den Namen der Ressourcengruppe ein, die Sie für diesen Artikel erstellt haben. Wählen Sie in der Liste der Suchergebnisse die Ressourcengruppe aus.

    Screenshot: Liste der Ressourcengruppen, die zum Löschen ausgewählt werden können.

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

  4. Geben Sie im Bereich Ressourcengruppe löschen zur Bestätigung den Namen Ihrer Ressourcengruppe ein, und wählen Sie dann Löschen aus.

    Screenshot eines Felds, in dem der Ressourcenname eingegeben werden muss, um den Löschvorgang zu bestätigen.

Innerhalb kurzer Zeit werden die Ressourcengruppe und alle darin enthaltenen Ressourcen gelöscht.