Snabbstart: Använda Azure Cache for Redis med en ASP.NET-webbapp

I den här snabbstarten använder du Visual Studio 2019 för att skapa ett ASP.NET webbprogram som ansluter till Azure Cache for Redis för att lagra och hämta data från cacheminnet. Sedan distribuerar du appen till Azure App Service.

Hoppa till koden på GitHub

Klona lagringsplatsen https://github.com/Azure-Samples/azure-cache-redis-samples/tree/main/quickstart/aspnet på GitHub.

Förutsättningar

Skapa en cache

Nu ska skapa du cachen för appen.

  1. Om du vill skapa en cache loggar du in på Azure-portalen och väljer Skapa en resurs.

    Skapa en resurs är markerad i det vänstra navigeringsfönstret.

  2. På sidan Nytt väljer du Databaser och sedan Azure Cache for Redis.

    På Ny markeras databaser och Azure Cache for Redis markeras.

  3. På sidan Ny Redis Cache konfigurerar du inställningarna för din nya cache.

    Inställning Välj ett värde beskrivning
    Abonnemang Listrutan och välj din prenumeration. Prenumerationen som den nya Azure Cache for Redis-instansen ska skapas under.
    Resursgrupp Listrutan och välj en resursgrupp eller välj Skapa ny och ange ett nytt resursgruppsnamn. Namn på den resursgrupp där cacheminnet och andra resurser ska skapas. Genom att placera alla dina appresurser i en resursgrupp kan du enkelt hantera eller ta bort dem tillsammans.
    DNS-namn Ange ett unikt namn. Cachenamnet måste vara en sträng mellan 1 och 63 tecken som endast innehåller siffror, bokstäver eller bindestreck. Namnet måste börja och sluta med ett tal eller en bokstav och får inte innehålla bindestreck i följd. Värdnamnet för cacheinstansen är <DNS-namnet.redis.cache.windows.net>.
    Plats Listrutan och välj en plats. Välj en region nära andra tjänster som använder din cache.
    Cachetyp Listrutan och välj en nivå. Nivån avgör storlek, prestanda och funktioner som är tillgängliga för cacheminnet. Mer information finns i Översikt över Azure Cache for Redis.
  4. Välj fliken Nätverk eller välj knappen Nätverk längst ned på sidan.

  5. På fliken Nätverk väljer du din anslutningsmetod.

  6. Välj fliken Nästa: Avancerat eller välj knappen Nästa: Avancerat längst ned på sidan för att se fliken Avancerat .

    Skärmbild som visar fliken Avancerat i arbetsfönstret och det tillgängliga alternativet att välja.

    • För Basic- eller Standard-cacheminnen växlar du markeringen för en icke-TLS-port. Du kan också välja om du vill aktivera Microsoft Entra-autentisering.
    • För en Premium-cache konfigurerar du inställningarna för icke-TLS-port, klustring, hanterad identitet och datapersistence. Du kan också välja om du vill aktivera Microsoft Entra-autentisering.
  7. Välj fliken Nästa: Taggar eller välj knappen Nästa: Taggar längst ned på sidan.

  8. Du kan också ange namn och värde på fliken Taggar om du vill kategorisera resursen.

  9. Välj Granska + skapa. Du kommer till fliken Granska + skapa där Azure verifierar din konfiguration.

  10. När det gröna verifieringsmeddelandet har skickats väljer du Skapa.

Det tar en stund innan en cache skapas. Du kan övervaka förloppet på översiktssidan för Azure Cache for Redis. När Status visas som Körs är cachen redo att användas.

Hämta värdnamn, portar och åtkomstnycklar från Azure-portalen

För att ansluta din Azure Cache for Redis-server behöver cacheklienten värdnamnet, portarna och en nyckel för cachen. Vissa klienter kan hänvisa till dessa objekt med namn som skiljer sig något. Du kan hämta värdnamnet, portarna och nycklarna från Azure-portalen.

  • Om du vill hämta åtkomstnycklarna väljer du Autentisering på resursmenyn. Välj sedan fliken Åtkomstnycklar .

    Nycklar för Azure Cache for Redis

  • Om du vill hämta värdnamnet och portarna för cacheminnet väljer du Översikt på resursmenyn. Värdnamnet är av formatet DNS name.redis.cache.windows.net>.<

    Egenskaper för Azure Cache for Redis

Redigera filen CacheSecrets.config

  1. Skapa en fil på datorn med namnet CacheSecrets.config. Placera den på en plats där den inte checkas in med källkoden för exempelprogrammet. För den här snabbstarten finns filen CacheSecrets.config i C:\AppSecrets\CacheSecrets.config.

  2. Redigera filen CacheSecrets.config. Lägg sedan till följande innehåll:

    <appSettings>
        <add key="CacheConnection" value="<cache-name>.redis.cache.windows.net,abortConnect=false,ssl=true,allowAdmin=true,password=<access-key>"/>
    </appSettings>
    
  3. Ersätt <cache-name> med din cachens värdnamn.

  4. Ersätt <access-key> med primärnyckeln för cachen.

    Dricks

    Du kan använda den sekundära åtkomstnyckeln under nyckelrotation som en alternativ nyckel medan du återskapar den primära åtkomstnyckeln.

  5. Spara filen.

Uppdatera MVC-appen

I det här avsnittet kan du se ett MVC-program som visar en vy som visar ett enkelt test mot Azure Cache for Redis.

Så här ansluter filen web.config till cachen

När du kör appen lokalt används informationen i CacheSecrets.config för att ansluta till Azure Cache for Redis-instansen. Senare kan du distribuera det här programmet till Azure. Då konfigurerar du en appinställning i Azure som appen kommer att använda för att hämta cachens anslutningsinformation i stället för den här filen.

Eftersom CacheSecrets.config inte har distribuerats till Azure med din app använder du den bara när du testar appen lokalt. Var noga med att skydda informationen så att inte obehöriga kan komma åt cachelagrade data.

Uppdatera filen web.config

  1. Öppna filen web.config i Solution Explorer.

    Web.config

  2. I filen web.config kan du ange elementet <appSettings> för att köra programmet lokalt.

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

ASP.NET-körningsmiljön sammanfogar innehållet i den externa filen med markeringen i <appSettings>-elementet. Vid körningen ignoreras filattributet om det inte går att hitta den angivna filen. Din hemliga information (anslutningssträngen till cachen) ingår inte i källkoden för programmet. När du distribuerar din webbapp till Azure så distribueras inte filen CacheSecrets.config.

Installera StackExchange.Redis

Din lösning behöver StackExchange.Redis paketet för att köras. Installera den med den här proceduren:

  1. Om du vill konfigurera appen att använda NuGet-paketet StackExchange.Redis för Visual Studio väljer du Verktyg > NuGet Package Manager > Package Manager Console.

  2. Kör följande kommando från fönstret Package Manager Console:

    Install-Package StackExchange.Redis
    
  3. NuGet-paketet laddar ned och lägger till nödvändiga sammansättningsreferenser för klientprogrammet för åtkomst till Azure Cache for Redis med StackExchange.Redis klienten.

Anslut till cachen med Redis Anslut ion

Anslutningen till cachen hanteras av RedisConnection klassen. Anslutningen görs först i den här instruktionen från ContosoTeamStats/Controllers/HomeController.cs:

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

Värdet för Cache Anslut ion-hemligheten används med hjälp av Secret Manager-konfigurationsprovidern och används som lösenordsparameter.

I RedisConnection.csser du att StackExchange.Redis namnområdet har lagts till i koden. Detta krävs för RedisConnection klassen.

using StackExchange.Redis;

Koden RedisConnection säkerställer att det alltid finns en felfri anslutning till cachen genom att hantera instansen ConnectionMultiplexer från StackExchange.Redis. Klassen RedisConnection återskapar anslutningen när en anslutning går förlorad och det inte går att återansluta automatiskt.

Mer information finns i StackExchange.Redis och koden i en GitHub-lagringsplats.

Layoutvyer i exemplet

Startsideslayouten för det här exemplet lagras i filen _Layout.cshtml . Från den här sidan startar du själva cachetestningen genom att klicka på Azure Cache for Redis-testet från den här sidan.

  1. I Solution Explorer expanderar du mappen Vyer>Delad. Öppna sedan filen _Layout.cshtml.

  2. Följande rad visas i <div class="navbar-header">.

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

    skärmbild av välkomstsidan

Visa data från cachen

På startsidan väljer du Azure Cache for Redis Test för att se exempelutdata.

  1. I Solution Explorer expanderar du mappen Vyer och högerklickar sedan på mappen Start.

  2. Du bör se den här koden i filen RedisCache.cshtml .

    @{
        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>
    

Köra appen lokalt

Som standard konfigureras projektet som värd för appen lokalt i IIS Express för testning och felsökning.

Köra appen lokalt

  1. I Visual Studio väljer du Felsök>Börja felsöka för att skapa och starta appen lokalt för testning och felsökning.

  2. Välj Azure Redis Cache for Redis-test i webbläsarens navigeringsfält.

  3. I exemplet nedan ser du att Message-nyckeln tidigare hade ett cachelagrat värde som angavs med Azure Cache for Redis-konsolen i portalen. Appen uppdatera det cachelagrade värdet. Appen körde även kommandona PING och CLIENT LIST.

    Skärmbild av enkelt test som slutförts lokalt

Publicera och köra i Azure

När du har testat appen lokalt distribuerar du den till Azure och kör den i molnet.

Publicera appen i Azure

  1. Högerklicka på projektnoden i Solution Explorer i Visual Studio. Välj sedan Publicera.

    Publicera

  2. Välj Microsoft Azure App Service, välj Skapa ny och välj sedan Publicera.

    Publicera i App Service

  3. Gör följande ändringar i dialogrutan Skapa App Service:

    Inställning Rekommenderat värde beskrivning
    Appnamn Använd standardvärdet. Appnamnet blir värdnamnet för appen när den har distribuerats till Azure. Namnet kan ha ett tidsstämpelsuffix som lagts till för att göra det unikt, om det behövs.
    Abonnemang Välj din Azure-prenumeration. Den här prenumerationen debiteras för eventuella relaterade värdkostnader. Om du har flera Azure-prenumerationer kontrollerar du att den önskade prenumerationen har valts.
    Resursgrupp Använd den resursgrupp som du skapade cachen i (till exempel TestResourceGroup). Resursgruppen hjälper dig att hantera alla resurser som en grupp. Senare när du vill ta bort appen är det bara att ta bort gruppen.
    App Service-plan Välj Nytt och skapa en ny App Service-Plan med namnet TestingPlan.
    Använd samma plats du använde när du skapade cachen.
    Välj Ledigt som storlek.
    En App Service-plan definierar en uppsättning beräkningsresurser för en webbapp att köra med.

    Dialogrutan App Service

  4. Välj Skapa när du har konfigurerat App Service-värdinställningarna.

  5. I fönstret Utdata i Visual Studio kan du se publiceringsstatus. När appen har publicerats loggas URL:en för appen:

    Publicera utdata

Lägga till appinställningen för cachen

Lägg till en ny appinställning när den nya appen har publicerats. Den här inställningen används för att lagra cacheanslutningsinformationen.

Lägga till appinställningen

  1. Skriv appnamnet i sökfältet längst upp i Azure-portalen för att söka efter den nya appen som du skapade.

    Leta efter appen

  2. Lägg till en ny appinställning med namnet CacheConnection som appen ska använda för att ansluta till cachen. Använd samma värde som du har konfigurerat för CacheConnection i filen CacheSecrets.config. Värdet innehåller cachens värdnamn och åtkomstnyckel.

    Lägga till appinställning

Köra appen i Azure

  1. Gå till URL:en för appen i webbläsaren. URL:en visas i resultatet av publiceringsåtgärden i utdatafönstret i Visual Studio. Den finns också i Azure-portalen på översiktssidan för appen du skapade.

  2. Välj Azure Cache for Redis-test i navigeringsfältet för att testa cacheåtkomst som du gjorde med den lokala versionen.

Rensa resurser

Om du fortsätter att använda den här snabbstarten kan du behålla de resurser som du har skapat och återanvända dem.

Om du är klar med exempelappen i snabbstarten kan du ta bort Azure-resurserna som du skapade i snabbstarten för att undvika kostnader.

Viktigt!

Att ta bort en resursgrupp kan inte ångras. När du tar bort en resursgrupp tas alla resurser som ingår i den bort permanent. Kontrollera att du inte av misstag tar bort fel resursgrupp eller resurser. Om du har skapat resurserna för att vara värd för det här exemplet i en befintlig resursgrupp som innehåller resurser som du vill behålla kan du ta bort varje resurs individuellt till vänster i stället för att ta bort resursgruppen.

Ta bort en resursgrupp

  1. Logga in på Azure-portalen och välj Resursgrupper.

  2. Skriv namnet på din resursgrupp i rutan Filtrera efter namn.... Anvisningarna för den här artikeln använde en resursgrupp med namnet TestResources. På din resursgrupp i resultatlistan väljer du ... och sedan Ta bort resursgrupp.

    Delete

  3. Du blir ombedd att bekräfta borttagningen av resursgruppen. Skriv namnet på din resursgrupp för att bekräfta och välj sedan Ta bort.

Efter en liten stund tas resursgruppen och de resurser som finns i den bort.

Nästa steg