Partager via


Démarrage rapide : Utiliser Azure Cache pour Redis avec une application web ASP.NET

Dans ce guide de démarrage rapide, vous allez utiliser Visual Studio 2019 pour créer une application web ASP.NET qui se connecte au cache Azure pour Redis afin de stocker et de récupérer des données du cache. Ensuite, vous déploierez cette application sur Azure App Service.

Passer au code sur GitHub

Clonez le référentiel https://github.com/Azure-Samples/azure-cache-redis-samples/tree/main/quickstart/aspnet sur GitHub.

Prérequis

Création d'un cache

Vous devez maintenant créer le cache pour l’application.

  1. Pour créer un cache, connectez-vous au Portail Azure. Dans le menu du portail, sélectionnez Créer une ressource.

    Capture d’écran montrant l’option Créer une ressource mise en évidence dans le volet de navigation gauche du portail Azure.

  2. Dans le volet Démarrer, entrez Azure Cache pour Redis dans la barre de recherche. Dans les résultats de la recherche, localisez Azure Cache pour Redis, puis sélectionnez Créer.

    Capture d’écran montrant la Place de marché Azure avec Azure Cache pour Redis dans la zone de recherche et le bouton Créer mis en évidence.

  3. Dans le volet Nouveau cache Redis, sous l’onglet Informations de base, configurez les paramètres suivants pour votre cache :

    Setting Action Description
    Abonnement Sélectionnez votre abonnement Azure. L’abonnement à utiliser pour créer l’instance d’Azure Cache pour Redis.
    Groupe de ressources Sélectionnez un groupe de ressources ou choisissez Créer nouveau, puis entrez un nouveau nom de groupe de ressources. Le nom du groupe de ressources dans lequel créer votre cache et d’autres ressources. En plaçant toutes les ressources de votre application dans un seul groupe de ressources, vous pouvez facilement les gérer ou les supprimer ensemble.
    Nom DNS Entrez un nom unique. Le nom du cache doit être une chaîne de 1 à 63 caractères ne contenant que des chiffres, des lettres et des traits d’union. Le nom doit commencer et se terminer par un chiffre ou une lettre, et ne doit pas contenir de traits d’union consécutifs. Le nom d’hôte de votre instance de cache est \<DNS name>.redis.cache.windows.net.
    Emplacement Sélectionnez un emplacement. Une région Azure proche d’autres services qui utilisent votre cache.
    Référence SKU du cache Sélectionnez une référence SKU. La référence SKU détermine les paramètres de taille, de performance et de fonctionnalités disponibles pour le cache. Pour plus d’informations, consultez Présentation d’Azure Cache pour Redis.
    Taille du cache Sélectionnez une taille de cache. Pour plus d’informations, consultez Présentation d’Azure Cache pour Redis.
  4. Sélectionnez l’onglet Mise en réseau ou sélectionnez Suivant : Mise en réseau.

  5. Sous l’onglet Mise en réseau, sélectionnez une méthode de connectivité à utiliser pour le cache.

  6. Sélectionnez l’onglet Avancé ou sélectionnez Suivant : avancé.

  7. Dans le volet Avancé, vérifiez ou sélectionnez une méthode d’authentification en fonction des informations suivantes :

    Capture d’écran montrant l’onglet Avancé et les options disponibles à sélectionner.

    • Par défaut, pour un nouveau cache Basic, Standard ou Premium, l’authentification Microsoft Entra est activée et l’authentification par clés d’accès est désactivée.
    • Pour les caches Basic ou Standard, vous pouvez choisir la sélection d'un port non TLS.
    • Pour les caches Standard et Premium, vous pouvez choisir d'activer les zones de disponibilité. Vous ne pouvez pas désactiver les zones de disponibilité une fois le cache créé.
    • Pour un cache Premium, configurez les paramètres afin d’utiliser un port non-TLS, le clustering, l’identité managée et la persistance des données.

    Important

    Pour bénéficier d’une sécurité optimale, nous vous recommandons d’utiliser si possible Microsoft Entra ID avec des identités managées pour autoriser les requêtes sur votre cache. L’autorisation avec Microsoft Entra ID et les identités managées offre davantage de sécurité et de facilité d’utilisation que l’autorisation par clé d’accès partagée. Pour plus d’informations sur l’utilisation d’identités managées avec votre cache, consultez Utiliser Microsoft Entra ID pour l’authentification du cache.

  8. (Facultatif) Sélectionnez l’onglet Étiquettes ou sélectionnez Suivant : Étiquettes.

  9. (Facultatif) Sous l’onglet Étiquettes, entrez un nom et une valeur d’étiquette si vous voulez catégoriser votre ressource de cache.

  10. Sélectionnez le bouton Vérifier + Créer.

    Sous l’onglet Vérifier et créer, Azure vérifie automatiquement votre configuration.

  11. Une fois que le message vert Validation réussie s’affiche, sélectionnez Créer.

Le déploiement d’un nouveau cache prend plusieurs minutes. Vous pouvez surveiller la progression du déploiement dans le volet Vue d’ensemble d’Azure Cache pour Redis. Lorsque État affiche En cours d’exécution, le cache est prêt à être utilisé.

Activer l’authentification Microsoft Entra ID sur votre cache

Si vous avez un cache, vérifiez que l’authentification Microsoft Entra a été activée. Si ce n’est pas le cas, activez-la. Nous vous recommandons d’utiliser Microsoft Entra ID pour vos applications.

  1. Dans le portail Azure, sélectionnez l’instance Azure Cache pour Redis pour laquelle vous voulez utiliser l’authentification basée sur des jetons Microsoft Entra.

  2. Dans le menu Ressource, sélectionnez Authentification.

  3. Dans le volet actif, vérifiez si Activer l’authentification Microsoft Entra est coché. Si c’est le cas, vous pouvez continuer.

  4. Sélectionnez Activer l’authentification Microsoft Entra, puis entrez le nom d’un utilisateur valide. L’utilisateur que vous spécifiez est automatiquement associé à la stratégie d’accès Propriétaire des données par défaut lorsque vous sélectionnez Enregistrer. Vous pouvez également entrer une identité managée ou un principal de service pour vous connecter à votre instance de cache.

    Capture d’écran illustrant l’authentification sélectionnée dans le menu Ressources et l’activation de l’authentification Microsoft Entra cochée.

  5. Une boîte de dialogue contextuelle s’affiche pour vous demander si vous souhaitez mettre à jour votre configuration, et vous informer que l’opération prend plusieurs minutes. Sélectionnez Oui.

    Important

    Une fois l’opération d’activation terminée, les nœuds de votre instance de cache redémarrent pour charger la nouvelle configuration. Nous vous recommandons d’effectuer cette opération pendant votre fenêtre de maintenance ou en dehors de vos heures de pointe. L’opération peut prendre jusqu’à 30 minutes.

Pour plus d’informations sur l’utilisation de Microsoft Entra ID avec l’interface de ligne de commande Azure (Azure CLI) consultez les pages de référence pour l’identité.

Pour modifier le fichier CacheSecrets.config

  1. Créez un fichier sur votre ordinateur nommé CacheSecrets.config. Placez-le dans un emplacement où il ne sera pas archivé avec le code source de votre exemple d’application. Pour ce démarrage rapide, le fichier CacheSecrets.config se trouve à l’emplacement suivant : C:\AppSecrets\CacheSecrets.config.

  2. Modifiez le fichier Web.config. Ajoutez ensuite le contenu suivant :

    <appSettings>
        <add key="RedisHostName" value="<cache-hostname>:<port-number>"/>
    </appSettings>
    
  3. Remplacez <cache-hostname> par le nom de votre hôte de cache tel qu'il apparaît dans le panneau Présentation du portail Azure

  4. Remplacez <port-number> par le numéro de port de votre hôte de cache.

  5. Enregistrez le fichier.

Mettre à jour l’application MVC

Dans cette section, vous pouvez voir une application MVC qui présente une vue qui affiche un test simple sur Azure Cache pour Redis. L’application MVC peut se connecter à votre instance Azure Managed Redis (préversion) lorsque la configuration « RedisHostName » pointe vers votre instance Azure Managed Redis.

Installer StackExchange.Redis

Votre solution a besoin du package StackExchange.Redis pour s’exécuter. Installez-le, en suivant cette procédure :

  1. Pour configurer l’application de sorte qu’elle utilise le package NuGet StackExchange.Redis pour Visual Studio, sélectionnez Outils > Gestionnaire de package NuGet > Console du Gestionnaire de package.

  2. Exécutez la commande suivante depuis la fenêtre Package Manager Console :

    Install-Package Microsoft.Azure.StackExchangeRedis
    
  3. Le package NuGet télécharge et ajoute les références d’assembly requises pour votre application cliente afin d’accéder à Azure Cache pour Redis avec le client Microsoft.Azure.StackExchangeRedis.

Se connecter au cache avec RedisConnection

La connexion au cache est gérée par la classe RedisConnection. La connexion est d’abord établie dans cette instruction à partir de ContosoTeamStats/Controllers/HomeController.cs :

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

Dans RedisConnection.cs, vous voyez que l’espace de noms StackExchange.Redis a été ajouté au code. Cela est nécessaire pour la classe RedisConnection.

using StackExchange.Redis;

Le code RedisConnection garantit qu’il existe toujours une connexion saine au cache en gérant l’instance ConnectionMultiplexer à partir de StackExchange.Redis. La classe RedisConnection recrée la connexion lorsqu’une connexion est perdue et ne peut pas se reconnecter automatiquement.

La ligne de code suivante utilise Microsoft Entra ID pour se connecter à Azure Cache pour Redis ou Azure Managed Redis (préversion) sans mot de passe.

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

Pour plus d’informations, consultez StackExchange.Redis et le code dans un référentiel GitHub.

Vues de disposition dans l’exemple

La mise en page d’accueil de cet exemple est stockée dans le fichier _Layout.cshtml. À partir de cette page, vous démarrez le test de cache réel en cliquant sur Test Azure Cache pour Redis à partir de cette page.

  1. Dans l’Explorateur de solutions, développez le dossier Affichages>Partagé. Ouvrez ensuite le fichier _Layout.cshtml.

  2. Vous voyez la ligne suivante dans <div class="navbar-header">.

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

    Capture d’écran de la page d’accueil.

Affichage des données à partir du cache

Dans la page d’accueil, sélectionnez Test Azure Cache pour Redis pour afficher l’exemple de sortie.

  1. Dans l’Explorateur de solutions, développez le dossier Vues et cliquez avec le bouton droit sur le dossier Accueil.

  2. Vous devriez voir ce code dans le fichier 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>
    

Exécutez l’application localement.

Par défaut, le projet est configuré pour héberger l’application localement dans IIS Express à des fins de test et de débogage.

Pour exécuter l’application localement

  1. Dans Visual Studio, sélectionnez Déboguer>Démarrer le débogage pour générer et démarrer l’application localement à des fins de test et de débogage.

  2. Dans la barre de navigation du navigateur, sélectionnez Azure Cache for Redis Test (Test du cache Azure pour Redis).

  3. Dans l’exemple suivant, vous pouvez voir que la clé Message présentait auparavant une valeur mise en cache, qui avait été définie à l’aide de la console du cache Azure pour Redis dans le portail. L’application a mis à jour cette valeur mise en cache. Elle a également exécuté les commandes PING et CLIENT LIST.

    Capture d'écran d'un test simple effectué localement.

Publier et exécuter l’application dans Azure

Après avoir testé l’application avec succès localement, vous pouvez déployer l’application sur Azure et l’exécuter dans le cloud.

Pour publier l’application sur Azure

  1. Dans l’Explorateur de solutions de Visual Studio, cliquez avec le bouton droit sur le nœud du projet. Sélectionnez ensuite Publier.

    Capture d'écran montrant le bouton Publier.

  2. Sélectionnez Microsoft Azure App Service, Créer, puis sélectionnez Publier.

    Capture d'écran montrant comment publier sur App Service.

  3. Dans la boîte de dialogue Créer App Service, apportez les modifications suivantes :

    Paramètre Valeur recommandée Description
    Nom de l’application Utilisez la valeur par défaut. Le nom de l’application est le nom d’hôte de l’application lors de son déploiement sur Azure. Un suffixe d’horodatage peut être ajouté au nom si nécessaire pour le rendre unique.
    Abonnement Choisissez votre abonnement Azure. Tous les frais d’hébergement associés sont facturés sur cet abonnement. Si vous possédez plusieurs abonnements Azure, vérifiez que l’abonnement souhaité est sélectionné.
    Groupe de ressources Utilisez le même groupe de ressources que celui où vous avez créé le cache (par exemple, TestResourceGroup). Le groupe de ressources vous permet de gérer toutes les ressources en tant que groupe. Pour supprimer l’application ultérieurement, vous pouvez simplement supprimer le groupe.
    Plan App Service Sélectionnez Nouveau et créez un plan App Service nommé TestingPlan.
    Utilisez le même emplacement que pour la création de votre cache.
    Pour la taille, choisissez Gratuit.
    Un plan App Service définit un ensemble de ressources de calcul à utiliser pour l’exécution d’une application web.

    Capture d’écran montrant la boîte de dialogue App Service.

  4. Après avoir configuré les paramètres d’hébergement App Service, sélectionnez Créer.

  5. Surveillez la fenêtre Sortie de Visual Studio pour connaître l’état de la publication. Une fois que l’application a été publiée, l’URL de l’application est enregistrée :

    Informations de publication de capture d'écran dans le volet de sortie.

Ajouter le paramètre d’application pour le cache

Une fois que la nouvelle application a été publiée, ajoutez un nouveau paramètre d’application. Ce paramètre est utilisé pour stocker les informations de connexion au cache.

Pour ajouter le paramètre d’application

  1. Tapez le nom de l’application dans la barre de recherche en haut du Portail Azure pour rechercher la nouvelle application que vous avez créée.

    Capture d’écran montrant comment trouver l’application sur le portail Azure.

  2. Ajoutez un nouveau paramètre d’application nommé CacheConnection qui sera utilisé par l’application pour se connecter au cache. Utilisez la même valeur que celle que vous avez configurée pour RedisHostName dans votre fichier web.config.

Exécuter l’application dans Microsoft Azure

  1. Dans votre navigateur, accédez à l’URL de l’application. L’URL figure dans les résultats de l’opération de publication, dans la fenêtre de sortie de Visual Studio. Elle est également indiquée dans le Portail Azure, sur la page de vue d’ensemble de l’application que vous avez créée.

  2. Sélectionnez Test Azure Cache pour Redis dans la barre de navigation pour tester l’accès au cache comme vous l’avez fait avec la version locale.

Nettoyer les ressources

Si vous souhaitez continuer à utiliser les ressources que vous avez créées dans cet article, conservez le groupe de ressources.

Sinon, si vous avez terminé avec les ressources, vous pouvez supprimer le groupe de ressources Azure que vous avez créé pour éviter les frais.

Important

La suppression d’un groupe de ressources est irréversible. Quand vous supprimez un groupe de ressources, toutes les ressources qu’il contient sont supprimées définitivement. Veillez à ne pas supprimer accidentellement des ressources ou un groupe de ressources incorrects. Si vous avez créé les ressources dans un groupe de ressources existant contenant des ressources que vous souhaitez conserver, vous pouvez supprimer chaque ressource individuellement, au lieu de supprimer l’intégralité du groupe de ressources.

Pour supprimer un groupe de ressources

  1. Connectez-vous au Portail Azure, puis sélectionnez Groupes de ressources.

  2. Recherchez le groupe de ressources à supprimer.

    S’il existe de nombreux groupes de ressources, utilisez la zone Filtrer pour n’importe quel champ..., tapez le nom du groupe de ressources que vous avez créé pour cet article. Sélectionnez le groupe de ressources dans la liste des résultats.

    Capture d’écran montrant une liste de groupes de ressources à supprimer dans le volet de travail.

  3. Sélectionnez Supprimer le groupe de ressources.

  4. Vous êtes invité à confirmer la suppression du groupe de ressources. Saisissez le nom de votre groupe de ressources pour confirmer, puis sélectionnez Supprimer.

    Capture d’écran montrant un formulaire qui demande le nom de la ressource pour confirmer la suppression.

Après quelques instants, le groupe de ressources et toutes ses ressources sont supprimés.

Étapes suivantes