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
- Azure-prenumeration – skapa en kostnadsfritt
- Visual Studio 2019 med arbetsbelastningarna ASP.NET och webbutveckling och Azure Development .
Skapa en cache
Nu ska skapa du cachen för appen.
Om du vill skapa en cache loggar du in på Azure-portalen och väljer Skapa en resurs.
På sidan Nytt väljer du Databaser och sedan Azure Cache for Redis.
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. Välj fliken Nätverk eller välj knappen Nätverk längst ned på sidan.
På fliken Nätverk väljer du din anslutningsmetod.
Välj fliken Nästa: Avancerat eller välj knappen Nästa: Avancerat längst ned på sidan för att se fliken Avancerat .
- 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.
Välj fliken Nästa: Taggar eller välj knappen Nästa: Taggar längst ned på sidan.
Du kan också ange namn och värde på fliken Taggar om du vill kategorisera resursen.
Välj Granska + skapa. Du kommer till fliken Granska + skapa där Azure verifierar din konfiguration.
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 .
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>.<
Redigera filen CacheSecrets.config
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.
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>
Ersätt
<cache-name>
med din cachens värdnamn.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.
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
Öppna filen web.config i Solution Explorer.
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:
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.
Kör följande kommando från fönstret
Package Manager Console
:Install-Package StackExchange.Redis
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.cs
ser 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.
I Solution Explorer expanderar du mappen Vyer>Delad. Öppna sedan filen _Layout.cshtml.
Följande rad visas i
<div class="navbar-header">
.@Html.ActionLink("Azure Cache for Redis Test", "RedisCache", "Home", new { area = "" }, new { @class = "navbar-brand" })
Visa data från cachen
På startsidan väljer du Azure Cache for Redis Test för att se exempelutdata.
I Solution Explorer expanderar du mappen Vyer och högerklickar sedan på mappen Start.
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
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.
Välj Azure Redis Cache for Redis-test i webbläsarens navigeringsfält.
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 kommandonaPING
ochCLIENT LIST
.
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
Högerklicka på projektnoden i Solution Explorer i Visual Studio. Välj sedan Publicera.
Välj Microsoft Azure App Service, välj Skapa ny och välj sedan Publicera.
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. Välj Skapa när du har konfigurerat App Service-värdinställningarna.
I fönstret Utdata i Visual Studio kan du se publiceringsstatus. När appen har publicerats loggas URL:en för appen:
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
Skriv appnamnet i sökfältet längst upp i Azure-portalen för att söka efter den nya appen som du skapade.
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.
Köra appen i Azure
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.
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
Logga in på Azure-portalen och välj Resursgrupper.
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.
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.