Share via


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

In deze quickstart gebruikt u Visual Studio 2019 om een ASP.NET-webtoepassing te wijzigen die verbinding maakt met Azure Cache voor Redis voor het opslaan en ophalen van gegevens uit de cache. Vervolgens implementeert u de app in Azure-app Service.

Ga naar de code

In dit artikel wordt beschreven hoe u de code voor een voorbeeld-app wijzigt om een werkende app te maken die verbinding maakt met Azure Cache voor Redis.

Als u rechtstreeks naar de voorbeeldcode wilt gaan, raadpleegt u het ASP.NET quickstart-voorbeeld op GitHub.

Vereisten

Een cache maken

Maak vervolgens de cache die u met de app wilt gebruiken.

  1. Meld u aan bij Azure Portal om een cache te maken. Selecteer een resource maken in het portalmenu.

    Sceenshot met de optie Een resource maken gemarkeerd in het linkernavigatiedeelvenster in Azure Portal.

  2. Voer in het deelvenster Aan de slag Azure Cache voor Redis in de zoekbalk in. Zoek Azure Cache voor Redis in de zoekresultaten en selecteer Vervolgens Maken.

    Schermopname van Azure Marketplace met Azure Cache voor Redis in het zoekvak en de knop Maken is gemarkeerd.

  3. Configureer in het deelvenster Nieuwe Redis Cache op het tabblad Basis de volgende instellingen voor uw cache:

    Instelling Actie Beschrijving
    Abonnement Selecteer uw Azure-abonnement. Het abonnement dat moet worden gebruikt om het nieuwe exemplaar van Azure Cache voor Redis te maken.
    Resourcegroep Selecteer een resourcegroep of selecteer Nieuwe maken en voer een nieuwe resourcegroepnaam in. Een naam voor de resourcegroep waarin u uw cache en andere resources wilt maken. 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 van 1 tot 63 tekens zijn die alleen cijfers, letters en afbreekstreepjes bevat. De naam moet beginnen en eindigen met een getal of letter en mag geen opeenvolgende afbreekstreepjes bevatten. De hostnaam van uw cache-exemplaar is\<DNS name>.redis.cache.windows.net.
    Location Selecteer een locatie. Een Azure-regio in de buurt van andere services die gebruikmaken van uw cache.
    Cache-SKU Selecteer een SKU. De SKU bepaalt de grootte, prestaties en functieparameters die beschikbaar zijn voor de cache. Zie Azure Cache voor Redis overzicht voor meer informatie.
    Cachegrootte Selecteer een cachegrootte. Zie Azure Cache voor Redis overzicht voor meer informatie.
  4. Selecteer het tabblad Netwerken of selecteer Volgende: Netwerken.

  5. Selecteer op het tabblad Netwerken een connectiviteitsmethode die u voor de cache wilt gebruiken.

  6. Selecteer het tabblad Geavanceerd of selecteer Volgende: Geavanceerd.

  7. Controleer of selecteer in het deelvenster Geavanceerd een verificatiemethode op basis van de volgende informatie:

    Schermopname van het deelvenster Geavanceerd en de beschikbare opties die u kunt selecteren.

    • Microsoft Entra Authentication is standaard ingeschakeld voor een nieuwe Basic-, Standard- of Premium-cache en toegangssleutelsverificatie is uitgeschakeld.
    • Voor Basic- of Standard-caches kunt u de selectie voor een niet-TLS-poort kiezen.
    • Voor Standard- en Premium-caches kunt u ervoor kiezen om beschikbaarheidszones in te schakelen. U kunt beschikbaarheidszones niet uitschakelen nadat de cache is gemaakt.
    • Voor een Premium-cache configureert u de instellingen voor niet-TLS-poort, clustering, beheerde identiteit en gegevenspersistentie.

    Belangrijk

    Voor optimale beveiliging wordt u aangeraden Microsoft Entra ID met beheerde identiteiten te gebruiken om aanvragen tegen uw cache te autoriseren, indien mogelijk. Autorisatie met behulp van Microsoft Entra ID en beheerde identiteiten biedt superieure beveiliging en gebruiksgemak ten opzichte van autorisatie van gedeelde toegangssleutels. Zie Microsoft Entra ID gebruiken voor cacheverificatie voor meer informatie over het gebruik van beheerde identiteiten met uw cache.

  8. (Optioneel) Selecteer het tabblad Tags of selecteer Volgende: Tags.

  9. (Optioneel) Voer op het tabblad Tags een tagnaam en -waarde in als u de cacheresource wilt categoriseren.

  10. Selecteer de knop Controleren en maken.

    Op het tabblad Controleren en maken valideert Azure uw configuratie automatisch.

  11. Nadat het groene bericht Validatie is geslaagd , selecteert u Maken.

Een nieuwe cache-implementatie vindt meer dan enkele minuten plaats. U kunt de voortgang van de implementatie controleren in het deelvenster Azure Cache voor Redis Overzicht. Wanneer de status Wordt uitgevoerd, is de cache gereed voor gebruik.

De hostnaam, poorten en toegangssleutel ophalen

Om verbinding te maken met uw Azure Cache voor Redis-server, heeft de cacheclient de hostnaam, poorten en een toegangssleutel van de cache nodig. Sommige clients kunnen naar deze items verwijzen door iets andere namen te gebruiken. U kunt de hostnaam, poorten en sleutels ophalen in Azure Portal.

  • Ga als volgende te werk om een toegangssleutel voor uw cache op te halen:

    1. Ga in Azure Portal naar uw cache.
    2. Selecteer Verificatie in het servicemenu onder Instellingen.
    3. Selecteer in het deelvenster Verificatie het tabblad Toegangssleutels .
    4. Als u de waarde voor een toegangssleutel wilt kopiëren, selecteert u het pictogram Kopiëren in het sleutelveld.

    Schermopname van het zoeken en kopiëren van een toegangssleutel voor een exemplaar van Azure Cache voor Redis.

  • Ga als volgende te werk om de hostnaam en poorten voor uw cache op te halen:

    1. Ga in Azure Portal naar uw cache.
    2. Selecteer Overzicht in het servicemenu.
    3. Selecteer onder Essentials voor Hostnaam het pictogram Kopiëren om de waarde van de hostnaam te kopiëren. De waarde van de hostnaam heeft het formulier <DNS name>.redis.cache.windows.net.
    4. Selecteer voor Poorten het pictogram Kopiëren om de poortwaarden te kopiëren.

    Schermopname van het zoeken en kopiëren van de hostnaam en poorten voor een exemplaar van Azure Cache voor Redis.

Het CacheSecrets.config-bestand bewerken

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

  2. Bewerk het CacheSecrets.config-bestand om de volgende inhoud toe te voegen.

    In de code:

    • Vervang <cache-name> door de hostnaam van uw cache.

    • Vervang door <access-key> de primaire toegangssleutel voor uw cache.

      Tip

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

    <appSettings>
        <add key="CacheConnection" value="<cache-name>.redis.cache.windows.net,abortConnect=false,ssl=true,allowAdmin=true,password=<access-key>"/>
    </appSettings>
    
  3. Sla het bestand op.

De MVC-toepassing bijwerken

In deze sectie geeft een MVC-toepassing (Model View-Controller) een eenvoudige test weer voor de verbinding met 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 de toepassing gebruikt om de cacheverbindingsgegevens op te halen in plaats van het configuratiebestand te gebruiken.

Omdat het CacheSecrets.config-bestand niet is geïmplementeerd in Azure met uw toepassing, gebruikt u het alleen wanneer u de toepassing lokaal test. Bewaar deze informatie zo veilig mogelijk om schadelijke toegang tot uw cachegegevens te voorkomen.

Het web.config-bestand bijwerken

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

    Schermopname van het bestand web.config in Visual Studio Solution Explorer.

  2. Stel in het bestand web.config het <appSettings> element in om de toepassing lokaal uit te voeren:

    <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

Voor uw oplossing moet het StackExchange.Redis pakket worden uitgevoerd.

Het StackExchange.Redis pakket installeren:

  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 in het venster Pakketbeheer Console de volgende opdracht uit:

    Install-Package StackExchange.Redis
    

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

Verbinding maken met de cache met behulp van RedisConnection

De verbinding met uw cache wordt beheerd door de RedisConnection klasse. De verbinding wordt eerst gemaakt in deze instructie die zich in ContosoTeamStats/Controllers/HomeController.cs bevindt:

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

De waarde van het CacheConnection geheim wordt geopend met behulp van de Secret Manager-configuratieprovider en wordt gebruikt als de wachtwoordparameter.

In RedisConnection.cs ziet u dat de Naamruimte StackExchange.Redis is toegevoegd aan de code. Voor de RedisConnection klasse is de naamruimte vereist.

using StackExchange.Redis;

De RedisConnection code zorgt ervoor dat er altijd een goede verbinding met de cache is. De verbinding wordt beheerd via het ConnectionMultiplexer exemplaar in StackExchange.Redis. 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 controleren

De startpagina-indeling voor dit voorbeeld wordt opgeslagen in het bestand _Layout.cshtml . Op deze pagina start u de werkelijke cachetests door Azure Cache voor Redis Testen op deze pagina te selecteren.

  1. Selecteer weergaven in Solution Explorer en klik met de rechtermuisknop op de gedeelde map. Open vervolgens het bestand _Layout.cshtml .

  2. Controleer of de volgende regel zich bevindt in <div class="navbar-header">:

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

    Schermopname met welkomst- en navigatieopties op een webpagina.

Gegevens uit de cache weergeven

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

  1. Selecteer weergaven in Solution Explorer en klik met de rechtermuisknop op de basismap .

  2. Controleer of de volgende code zich in het bestand RedisCache.cshtml bevindt:

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

    Schermopname van een eenvoudige test die lokaal is voltooid.

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 naar Azure:

  1. Klik in Visual Studio in Solution Explorer met de rechtermuisknop op het projectknooppunt en selecteer Publiceren.

    Schermopname van de menuopdracht Publiceren gemarkeerd in Azure.

  2. Selecteer Microsoft Azure-app Service>Nieuwe>publicatie maken.

    Schermopname met menuopties die moeten worden ingesteld om te publiceren naar App Service.

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

    Instelling Actie 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 tijdstempelachtervoegsel toegevoegd om de naam van de app uniek te maken.
    Abonnement Selecteer uw Azure-abonnement. Voor dit abonnement worden eventuele gerelateerde hostingkosten in rekening gebracht. Als u meerdere Azure-abonnementen hebt, controleert u of het abonnement dat u wilt gebruiken, is geselecteerd.
    Resourcegroep Gebruik dezelfde resourcegroep die u hebt gebruikt om de cache te maken (bijvoorbeeld TestResourceGroup). Met een resourcegroep kunt u alle resources als een groep beheren. Wanneer u de app later wilt verwijderen, kunt u de resourcegroep verwijderen om alle gerelateerde resources te verwijderen.
    App Service-plan Selecteer Nieuw en maak vervolgens een nieuw App Service-plan met de naam TestingPlan.
    Gebruik dezelfde waarde voor Locatie die u hebt gebruikt bij het maken van uw cache.
    Als grootte selecteert u Gratis.
    Een App Service-plan definieert een set van rekenresources waarmee een web-app wordt uitgevoerd.

    Schermopname van het dialoogvenster App Service in Azure.

  4. Nadat u de App Service-hostinstellingen hebt geconfigureerd, selecteert u Maken.

  5. Controleer in het venster Uitvoer de publicatiestatus. Nadat de app is gepubliceerd, wordt de URL voor de app weergegeven als uitvoer:

    Schermopname van het publicatie-uitvoervenster in Visual Studio.

Een app-instelling voor de cache toevoegen

Nadat de nieuwe app is gepubliceerd, voegt u een nieuwe app-instelling toe in Azure Portal. Met deze instelling worden de cacheverbindingsgegevens opgeslagen.

De app-instelling toevoegen:

  1. Voer in Azure Portal de naam van de app in de zoekbalk in.

    Schermopname van het zoeken naar een app in Azure Portal.

  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 CacheConnection gebruikt in het cachesecrets.config-bestand . De waarde bevat de hostnaam en toegangssleutel van de cache.

    Schermopname van het toevoegen van een app-instelling.

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 venster Visual Studio-uitvoer. Deze wordt ook weergegeven in Azure Portal in het deelvenster Overzicht van uw app.

  2. Selecteer op de navigatiebalk van de webpagina Azure Cache voor Redis Test om de toegang tot de cache te testen, zoals u hebt gedaan met de lokale versie.

Resources opschonen

Als u de resources wilt blijven gebruiken die u in dit artikel hebt gemaakt, moet u de resourcegroep behouden.

Als u de resources niet meer wilt gebruiken, kunt u de Azure-resourcegroep verwijderen die u hebt gemaakt, als u klaar bent met het gebruik van de resources.

Waarschuwing

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

Een resourcegroep verwijderen

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

  2. Selecteer de resourcegroep die u wilt verwijderen.

    Als er veel resourcegroepen zijn, voert u in Filter voor een veld de naam in van de resourcegroep die u hebt gemaakt om dit artikel te voltooien. Selecteer de resourcegroep in de lijst met zoekresultaten.

    Schermopname van een lijst met resourcegroepen waaruit u kunt kiezen om te verwijderen.

  3. Selecteer Resourcegroep verwijderen.

  4. Voer in het deelvenster Een resourcegroep verwijderen de naam van de resourcegroep in die u wilt bevestigen en selecteer Vervolgens Verwijderen.

    Schermopname van een vak waarin u de resourcenaam moet invoeren om het verwijderen te bevestigen.

Binnen enkele ogenblikpen worden de resourcegroep en alle bijbehorende resources verwijderd.