Quickstart: Azure Cache voor Redis met ASP.NET-web-app gebruiken

In deze snelstartgids gebruikt u Visual Studio 2019 om een ASP.NET-web-app die verbinding maakt met Azure Cache voor Redis om gegevens op te slaan en op te halen uit de cache. U kunt de app vervolgens in Azure App Service implementeren.

Ga naar de code op GitHub

Kloon de opslagplaats https://github.com/Azure-Samples/azure-cache-redis-samples/tree/main/quickstart/aspnet op GitHub.

Vereisten

Een cache maken

Maak vervolgens de cache voor de app.

  1. Als u een cache wilt maken, meldt u zich aan bij de Azure-portal en selecteert u Een resource maken.

    Create a resource is highlighted in the left navigation pane.

  2. Selecteer op de pagina Nieuw de optie Databases en selecteer vervolgens Azure Cache voor Redis.

    On New, Databases is highlighted, and Azure Cache for Redis is highlighted.

  3. Configureer op de pagina Nieuwe Redis-cache de instellingen voor de nieuwe cache.

    Instelling Een waarde kiezen Beschrijving
    Abonnement Open de vervolgkeuzelijst en selecteer uw abonnement. Het abonnement waarmee dit nieuwe Azure Cache voor Redis-exemplaar wordt gemaakt.
    Resourcegroep Open de vervolgkeuzelijst en selecteer een resourcegroep of kies Nieuwe maken en geef een naam voor de nieuwe resourcegroep op. Naam voor de resourcegroep waarin de cache en andere resources moeten worden gemaakt. Door al uw app-resources in één resourcegroep te plaatsen, kunt u ze eenvoudig beheren of verwijderen.
    DNS-naam Voer een unieke naam in. De cachenaam moet een tekenreeks tussen 1 en 63 tekens zijn die alleen cijfers, letters of afbreekstreepjes bevatten. De naam moet beginnen en eindigen met een cijfer of letter en mag geen opeenvolgende afbreekstreepjes bevatten. De hostnaam van uw cache-exemplaar is <DNS-naam.redis.cache.windows.net>.
    Location Open de vervolgkeuzelijst en selecteer een locatie. Selecteer een regio in de buurt van andere services die gebruikmaken van uw cache.
    Cachetype Vervolgkeuzelijst en selecteer een laag. De grootte, prestaties en functies die beschikbaar zijn voor de cache, zijn afhankelijk van de gekozen laag. Zie het Azure Cache voor Redis-overzicht voor meer informatie.
  4. Selecteer het tabblad Netwerken of selecteer de knop Netwerken onderaan de pagina.

  5. Selecteer uw verbindingsmethode op het tabblad Netwerk.

  6. Selecteer het tabblad Volgende: Geavanceerd of selecteer de knop Volgende: Geavanceerd onder aan de pagina om het tabblad Geavanceerd weer te geven.

    Screenshot showing the Advanced tab in the working pane and the available option to select.

    • Voor Basic- of Standard-caches schakelt u de selectie voor een niet-TLS-poort in. U kunt ook selecteren of u Microsoft Entra-verificatie wilt inschakelen.
    • Voor een Premium-cache configureert u de instellingen voor niet-TLS-poort, clustering, beheerde identiteit en gegevenspersistentie. U kunt ook selecteren of u Microsoft Entra-verificatie wilt inschakelen.
  7. Selecteer het tabblad Volgende: Tags of selecteer de knop Volgende: Tags onderaan de pagina.

  8. Voer desgewenst in het tabblad Tags de naam en waarde in om de resource te categoriseren.

  9. Selecteer Controleren + maken. Het tabblad Beoordelen + maken wordt weergegeven, waar uw configuratie wordt gevalideerd in Azure.

  10. Selecteer Maken nadat het groene bericht Validatie geslaagd verschijnt.

Het duurt even voordat een cache is gemaakt. U kunt de voortgang bekijken op de overzichtspagina van Azure Cache voor Redis. Als u bij StatusWordt uitgevoerd ziet staan, kunt u de cache gebruiken.

Hostnaam, poorten en toegangssleutels ophalen uit Azure Portal

Om verbinding te maken met uw Azure Cache voor Redis-server, heeft de cacheclient de hostnaam, poorten en een sleutel voor de cache nodig. Sommige clients kunnen enigszins andere namen gebruiken om naar deze items te verwijzen. U kunt de hostnaam, poorten en toegangssleutels ophalen uit Azure Portal.

  • Als u de toegangssleutels wilt ophalen, selecteert u in de linkernavigatie van de cache de optie Toegangssleutels.

    Azure Cache for Redis keys

  • Als u de hostnaam en poorten wilt ophalen, selecteert u in de linkernavigatie van de cache de optie Eigenschappen. De hostnaam is van de dns-naam> van het formulier.redis.cache.windows.net<.

    Azure Cache for Redis properties

Het bestand CacheSecrets.config bewerken

  1. Maak een bestand op uw computer met de naam CacheSecrets.config. Plaats deze op een locatie waar deze niet wordt ingecheckt met de broncode van uw voorbeeldtoepassing. Voor deze snelstart bevindt het bestand CacheSecrets.config zich op C:\AppSecrets\CacheSecrets.config.

  2. Bewerk het bestand CacheSecrets.config. Voeg nu de volgende inhoud toe:

    <appSettings>
        <add key="CacheConnection" value="<cache-name>.redis.cache.windows.net,abortConnect=false,ssl=true,allowAdmin=true,password=<access-key>"/>
    </appSettings>
    
  3. Vervang <cache-name> door de hostnaam van uw cache.

  4. Vervang <access-key> door de primaire sleutel voor uw cache.

    Tip

    U kunt de secundaire toegangssleutel tijdens sleutelroulatie gebruiken als een alternatieve sleutel terwijl u de primaire toegangssleutel opnieuw genereert.

  5. Sla het bestand op.

De MVC-toepassing bijwerken

In deze sectie ziet u een MVC-toepassing met een weergave die een eenvoudige test weergeeft op basis van Azure Cache voor Redis.

Hoe het bestand web.config verbinding maakt met de cache

Als u de toepassing lokaal uitvoert, wordt de informatie in CacheSecrets.config gebruikt om verbinding te maken met uw instantie van Azure Cache voor Redis. Later kunt u deze toepassing implementeren in Azure. Op dat moment configureert u een app-instelling in Azure die in de toepassing wordt gebruikt om de cacheverbindingsinformatie op te halen in plaats van dit bestand.

Omdat het bestand CacheSecrets.config niet in Azure wordt geïmplementeerd met uw toepassing, gebruikt u het alleen tijdens het lokaal testen van de toepassing. Houd deze informatie zo veilig mogelijk om schadelijke toegang tot de gegevens in de cache te voorkomen.

Het bestand web.config bijwerken

  1. Open in Solution Explorer het bestand web.config .

    Web.config

  2. In het bestand web.config kunt u het element voor het <appSettings> lokaal uitvoeren van de toepassing instellen.

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

De ASP.NET-runtime voegt de inhoud van het externe bestand samen met de opmaak van het element <appSettings>. Als het opgegeven bestand niet kan worden gevonden, negeert de runtime het bestandskenmerk. Uw geheimen (de verbindingsreeks naar uw cache) worden niet opgenomen in de broncode van de toepassing. Wanneer u de web-app implementeert in Azure, wordt het bestand CacheSecrets.config niet geïmplementeerd.

StackExchange.Redis installeren

Uw oplossing moet het StackExchange.Redis pakket uitvoeren. Installeer het met deze procedure:

  1. Als u de app wilt configureren voor het gebruik van het NuGet-pakket StackExchange.Redis voor Visual Studio, selecteert u Tools > NuGet Pakketbeheer > Pakketbeheer Console.

  2. Voer de volgende opdracht uit vanuit het venster Package Manager Console:

    Install-Package StackExchange.Redis
    
  3. Het NuGet-pakket downloadt en voegt de vereiste assemblyverwijzingen voor uw clienttoepassing toe voor toegang tot Azure Cache voor Redis met de StackExchange.Redis client.

Verbinding maken naar de cache met Redis Verbinding maken ion

De verbinding met uw cache wordt beheerd door de RedisConnection klasse. De verbinding wordt eerst gemaakt in deze verklaring van ContosoTeamStats/Controllers/HomeController.cs:

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

De waarde van het cachegeheim Verbinding maken ion wordt geopend met behulp van de Secret Manager-configuratieprovider en wordt gebruikt als de wachtwoordparameter.

In RedisConnection.csziet u dat de StackExchange.Redis naamruimte is toegevoegd aan de code. Dit is nodig voor de RedisConnection klas.

using StackExchange.Redis;

De RedisConnection code zorgt ervoor dat er altijd een goede verbinding met de cache is door het ConnectionMultiplexer exemplaar vanuit StackExchange.Rediste beheren. De RedisConnection klasse maakt de verbinding opnieuw wanneer een verbinding is verbroken en kan niet automatisch opnieuw verbinding maken.

Zie StackExchange.Redis en de code in een GitHub-opslagplaats voor meer informatie.

Indelingsweergaven in het voorbeeld

De startpagina-indeling voor dit voorbeeld wordt opgeslagen in het bestand _Layout.cshtml . Vanaf deze pagina start u de daadwerkelijke cachetests door op de Azure Cache voor Redis Test van deze pagina te klikken.

  1. Vouw in Solution Explorer de map Views>Shared uit. Open vervolgens het bestand _Layout.cshtml.

  2. U ziet de volgende regel in <div class="navbar-header">.

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

    screenshot of welcome page

Gegevens uit de cache weergeven

Selecteer op de startpagina Azure Cache voor Redis Test om de voorbeelduitvoer te zien.

  1. Vouw in Solution Explorer de map Views uit en klik met de rechtermuisknop op de map Home.

  2. U ziet deze code in het bestand 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>
    

De app lokaal uitvoeren

Het project is standaard geconfigureerd voor het lokaal hosten van de app in IIS Express voor testen en foutopsporing.

De app lokaal uitvoeren

  1. Selecteer in Visual Studio Debug>Start Debugging om de app lokaal te bouwen en te starten voor testen en foutopsporing.

  2. Selecteer in de browser Azure Cache voor Redis Test op de navigatiebalk.

  3. In het volgende voorbeeld ziet u dat de Message-sleutel eerder een waarde in de cache had, die was ingesteld met behulp van de Azure Cache voor Redis-console in de portal. De app heeft die waarde in de cache bijgewerkt. De app heeft ook de opdrachten PING en CLIENT LIST uitgevoerd.

    Screenshot of simple test completed local

Publiceren en uitvoeren in Azure

Nadat het lokaal testen van de app is geslaagd, implementeert u de app in Azure en voert u deze uit in de cloud.

De app publiceren in Azure

  1. Klik in Visual Studio met de rechtermuisknop op het projectknooppunt in Solution Explorer. Selecteer vervolgens Publiceren.

    Publish

  2. Selecteer Microsoft Azure App Service, selecteer Nieuwe maken en selecteer vervolgens Publiceren.

    Publish to App Service

  3. Breng in het dialoogvensterApp Service maken de volgende wijzigingen aan:

    Instelling Aanbevolen waarde Beschrijving
    App-naam Gebruik de standaard. De app-naam is de hostnaam voor de app wanneer deze is geïmplementeerd in Azure. Aan de naam is mogelijk een tijdstempel als achtervoegsel toegevoegd om deze uniek te maken, indien nodig.
    Abonnement Kies uw Azure-abonnement. Voor dit abonnement worden eventuele gerelateerde hostingkosten in rekening gebracht. Als u meerdere Azure-abonnementen hebt, controleert u of het gewenste abonnement is geselecteerd.
    Resourcegroep Gebruik dezelfde resourcegroep waar u de cache hebt gemaakt. (Bijvoorbeeld, TestResourceGroup.) Met een resourcegroep kunt u alle resources als een groep beheren. Als u de app later wilt verwijderen, verwijdert u gewoon de groep.
    App Service-plan Selecteer Nieuw en maak vervolgens een nieuw App Service-plan met de naam TestingPlan.
    Gebruik dezelfde locatie die u hebt gebruikt bij het maken van uw cache.
    Kies Vrij voor de grootte.
    Een App Service-plan definieert een set van rekenresources waarmee een web-app wordt uitgevoerd.

    App Service dialog box

  4. Nadat u de instellingen voor App Service-hosting hebt geconfigureerd, selecteert u Maken.

  5. Controleer het venster Uitvoer in Visual Studio om de publicatiestatus te zien. Nadat de app is gepubliceerd, wordt de URL voor de app geregistreerd:

    Publishing output

De app-instelling voor de cache toevoegen

Nadat de nieuwe app is gepubliceerd, voegt u een nieuwe app-instelling toe. Deze instelling wordt gebruikt om de verbindingsgegevens van de cache op te slaan.

De app-instelling toevoegen

  1. Typ de app-naam in de zoekbalk boven aan Azure Portal om te zoeken naar de nieuwe app die u hebt gemaakt.

    Find app

  2. Voeg een nieuwe app instelling met de naam CacheConnection toe die de app kan gebruiken om verbinding te maken met de cache. Gebruik dezelfde waarde die u hebt geconfigureerd voor CacheConnection in het bestand CacheSecrets.config. De waarde bevat de hostnaam en toegangssleutel van de cache.

    Add app setting

De app in Azure uitvoeren

  1. Ga in de browser naar de URL voor de app. De URL wordt weergegeven in de resultaten van de publicatiebewerking in het uitvoervenster van Visual Studio. Deze is ook beschikbaar in Azure Portal op de overzichtspagina van de app die u hebt gemaakt.

  2. Selecteer Azure Cache voor Redis Testen op de navigatiebalk om de toegang tot de cache te testen zoals u dat hebt gedaan met de lokale versie.

Resources opschonen

Als u deze quickstart blijft gebruiken, kunt u de gemaakte resources behouden en opnieuw gebruiken.

Als klaar bent met de voorbeeldtoepassing uit de snelstart, kunt u de Azure-resources die u in deze snelstart hebt gemaakt, verwijderen om kosten te voorkomen.

Belangrijk

Het verwijderen van een resourcegroep kan niet ongedaan worden gemaakt. Wanneer u een resourcegroep verwijdert, worden alle resources in de groep definitief verwijderd. Zorg ervoor dat u niet per ongeluk de verkeerde resourcegroep of resources verwijdert. Als u de resources hebt gemaakt voor het hosten van dit voorbeeld in een bestaande resourcegroep die resources bevat die u wilt behouden, kunt u elke resource afzonderlijk aan de linkerkant verwijderen in plaats van de resourcegroep te verwijderen.

Een resourcegroep verwijderen

  1. Meld u aan bij Azure Portal en selecteer vervolgens Resourcegroepen.

  2. Typ in het vak Filteren op naam... de naam van de resourcegroep. In de instructies voor dit artikel is een resourcegroep met de naam TestResources gebruikt. Selecteer in de resourcegroep, in de resultatenlijst, de optie .... Selecteer vervolgens Resourcegroep verwijderen.

    Delete

  3. U wordt gevraagd om het verwijderen van de resourcegroep te bevestigen. Typ ter bevestiging de naam van de resourcegroep. Selecteer vervolgens Verwijderen.

Na enkele ogenblikken worden de resourcegroep en alle bijbehorende resources verwijderd.

Volgende stappen