Dela via


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 Portal. På portalmenyn väljer du Skapa en resurs.

    Sceenshot som visar alternativet Skapa en resurs markerad i det vänstra navigeringsfönstret i Azure Portal.

  2. I fönstret Kom igång anger du Azure Cache for Redis i sökfältet. I sökresultaten letar du upp Azure Cache for Redis och väljer sedan Skapa.

    Skärmbild som visar Azure Marketplace med Azure Cache for Redis i sökrutan och knappen Skapa är markerad.

  3. I fönstret Ny Redis Cachefliken Grundläggande konfigurerar du följande inställningar för din cache:

    Inställning Åtgärd beskrivning
    Abonnemang Välj din Azure-prenumerationen. Prenumerationen som ska användas för att skapa den nya instansen av Azure Cache for Redis.
    Resursgrupp Välj en resursgrupp eller välj Skapa ny och ange ett nytt resursgruppsnamn. Ett namn på resursgruppen där du kan skapa cacheminnet och andra resurser. 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 på 1 till 63 tecken som endast innehåller siffror, bokstäver och bindestreck. Namnet måste börja och sluta med ett tal eller en bokstav, och det får inte innehålla bindestreck i följd. Värdnamnet för cacheinstansen är \<DNS name>.redis.cache.windows.net.
    Plats Välj en plats. En Azure-region som ligger nära andra tjänster som använder din cache.
    Cache-SKU Välj en SKU. SKU:n avgör vilka storleks-, prestanda- och funktionsparametrar som är tillgängliga för cachen. Mer information finns i Översikt över Azure Cache for Redis.
    Cachestorlek Välj en cachestorlek. Mer information finns i Översikt över Azure Cache for Redis.
  4. Välj fliken Nätverk eller välj Nästa: Nätverk.

  5. På fliken Nätverk väljer du en anslutningsmetod som ska användas för cacheminnet.

  6. Välj fliken Avancerat eller välj Nästa: Avancerat.

  7. I fönstret Avancerat kontrollerar eller väljer du en autentiseringsmetod baserat på följande information:

    Skärmbild som visar fönstret Avancerat och tillgängliga alternativ att välja.

    • Som standard aktiveras Microsoft Entra-autentisering för en ny Basic-, Standard- eller Premium-cache och åtkomstnycklarnas autentisering inaktiveras.
    • För Basic- eller Standard-cacheminnen kan du välja valet för en icke-TLS-port.
    • För Standard- och Premium-cacheminnen kan du välja att aktivera tillgänglighetszoner. Du kan inte inaktivera tillgänglighetszoner när cacheminnet har skapats.
    • För en Premium-cache konfigurerar du inställningarna för icke-TLS-port, klustring, hanterad identitet och datapersistence.

    Viktigt!

    För optimal säkerhet rekommenderar vi att du använder Microsoft Entra-ID med hanterade identiteter för att auktorisera begäranden mot din cache om möjligt. Auktorisering med hjälp av Microsoft Entra-ID och hanterade identiteter ger överlägsen säkerhet och användarvänlighet för auktorisering av delad åtkomstnyckel. Mer information om hur du använder hanterade identiteter med din cache finns i Använda Microsoft Entra-ID för cacheautentisering.

  8. (Valfritt) Välj fliken Taggar eller välj Nästa: Taggar.

  9. (Valfritt) På fliken Taggar anger du ett taggnamn och värde om du vill kategorisera cacheresursen.

  10. Välj knappen Granska + skapa.

    På fliken Granska + skapa verifierar Azure automatiskt din konfiguration.

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

En ny cachedistribution sker under flera minuter. Du kan övervaka förloppet för distributionen i översiktsfönstret Azure Cache for Redis. När Status visar Körs är cachen redo att användas.

Aktivera Microsoft Entra-ID-autentisering i cacheminnet

Om du har en cache kontrollerar du om Microsoft Entra-autentisering har aktiverats. Om inte aktiverar du det. Vi rekommenderar att du använder Microsoft Entra-ID för dina appar.

  1. I Azure Portal väljer du den Azure Cache for Redis-instans där du vill använda Microsoft Entra-tokenbaserad autentisering.

  2. Välj Autentisering på resursmenyn.

  3. Kontrollera om Aktivera Microsoft Entra-autentisering är markerat i arbetsfönstret. I så fall kan du gå vidare.

  4. Välj Aktivera Microsoft Entra-autentisering och ange namnet på en giltig användare. Användaren som du anger tilldelas automatiskt åtkomstprincip för dataägare som standard när du väljer Spara. Du kan också ange en hanterad identitet eller tjänstens huvudnamn för att ansluta till cacheinstansen.

    Skärmbild som visar autentisering som valts i resursmenyn och aktivera Microsoft Entra-autentisering markerat.

  5. En popup-dialogruta visar en fråga om du vill uppdatera konfigurationen och informerar dig om att det tar flera minuter. Välj Ja.

    Viktigt!

    När aktiveringsåtgärden är klar startas noderna i cacheinstansen om för att läsa in den nya konfigurationen. Vi rekommenderar att du utför den här åtgärden under underhållsperioden eller utanför din rusningstid. Åtgärden kan ta upp till 30 minuter.

Information om hur du använder Microsoft Entra-ID med Azure CLI finns i referenssidorna för identitet.

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 Web.config. Lägg sedan till följande innehåll:

    <appSettings>
        <add key="RedisHostName" value="<cache-hostname>:<port-number>"/>
    </appSettings>
    
  3. Ersätt <cache-hostname> med ditt cachevärdnamn så som det visas på bladet Översikt i Azure-portalen

  4. Ersätt <port-number> med portnumret för cachevärden.

  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. MVC-programmet kan ansluta till din Azure Managed Redis-instans (förhandsversion) när konfigurationen "RedisHostName" pekar på din Azure Managed Redis-instans.

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 Microsoft.Azure.StackExchangeRedis
    
  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 Microsoft.Azure.StackExchangeRedis klienten.

Ansluta till cachen med RedisConnection

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(redisHostName: ConfigurationManager.AppSettings["RedisHostName"].ToString());

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.

Följande kodrad använder Microsoft Entra-ID för att ansluta till Azure Cache for Redis eller Azure Managed Redis (förhandsversion) utan lösenord.

var configurationOptions = await ConfigurationOptions.Parse($"{_redisHostName}").ConfigureForAzureWithTokenCredentialAsync(new DefaultAzureCredential());

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.

    Skärmbild som visar publiceringsknappen.

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

    Skärmbild som visar hur du publicerar till 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.

    Skärmbild som visar 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:

    Skärmbild av publiceringsinformation i utdatafönstret.

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.

    Skärmbild som visar hur du hittar appen på Azure Portal.

  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 konfigurerade för RedisHostName i web.config-filen.

    Skärmbild som visar hur du lägger 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 vill fortsätta att använda de resurser som du skapade i den här artikeln behåller du resursgruppen.

Om du är klar med resurserna kan du ta bort den Azure-resursgrupp som du skapade för att undvika avgifter.

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 i en befintlig resursgrupp som innehåller resurser som du vill behålla kan du ta bort varje resurs individuellt i stället för att ta bort resursgruppen.

Ta bort en resursgrupp

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

  2. Välj den resursgrupp som du vill ta bort.

    Om det finns många resursgrupper använder du rutan Filter för alla fält... och skriver namnet på resursgruppen som du skapade för den här artikeln. Välj resursgruppen i resultatlistan.

    Skärmbild som visar en lista över resursgrupper som ska tas bort i arbetsfönstret.

  3. Välj Ta bort resursgrupp.

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

    Skärmbild som visar ett formulär som kräver resursnamnet för att bekräfta borttagningen.

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

Nästa steg