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, puis sélectionnez Créer une ressource.

    Create a resource is highlighted in the left navigation pane.

  2. Dans la page Nouvelle, sélectionnez Bases de données, puis Azure Cache pour Redis.

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

  3. Dans la page Nouveau cache Redis, configurez les paramètres du nouveau cache.

    Paramètre Choisir une valeur Description
    Abonnement Dans la liste déroulante, sélectionnez votre abonnement. Abonnement sous lequel créer cette nouvelle instance d’Azure Cache pour Redis.
    Groupe de ressources Dans la liste déroulante, sélectionnez un groupe de ressources ou choisissez Créer nouveau, puis entrez un nouveau nom de groupe de ressources. 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 ou des traits d’union. Le nom doit commencer et se terminer par un chiffre ou une lettre, et ne peut pas contenir de traits d’union consécutifs. Le nom d’hôte de votre instance de cache est <nom DNS>.redis.cache.windows.net.
    Lieu Dans la liste déroulante, sélectionnez un emplacement. Choisissez une Région proche d’autres services qui utilisent votre cache.
    Type de cache Faites défiler vers le bas et sélectionnez un niveau. Le niveau détermine la taille, les performances et les fonctionnalités disponibles pour le cache. Pour plus d’informations, consultez Présentation du cache Azure pour Redis.
  4. Sélectionnez l’onglet Réseau ou sélectionnez le bouton Réseau au bas de la page.

  5. Sous l’onglet Réseau, sélectionnez votre méthode de connectivité.

  6. Sélectionnez le bouton Suivant : Avancé ou sélectionnez le bouton Suivant : Avancé en bas de la page pour afficher l’onglet Avancé.

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

    • Pour un cache De base ou Standard, changez la sélection pour utiliser un port non TLS. Vous pouvez également sélectionner Authentification Microsoft Entra si vous souhaitez activer cette option.
    • 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. Vous pouvez également sélectionner Authentification Microsoft Entra si vous souhaitez activer cette option.
  7. Sélectionnez l’onglet Suivant : Avancé ou sélectionnez le bouton Suivant : Étiquettes au bas de la page.

  8. Si vous le voulez, sous l’onglet Étiquettes, entrez le nom et la valeur si vous souhaitez catégoriser la ressource.

  9. Sélectionnez Revoir + créer. Vous êtes redirigé vers l’onglet Vérifier + créer où Azure valide votre configuration.

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

La création d’un cache prend du temps. Vous pouvez surveiller la progression dans la page Vue d’ensemble du Azure Cache pour Redis. Lorsque État indique En cours d’exécution, le cache est prêt pour utilisation.

Récupération du nom d’hôte, des ports et des clés d’accès à partir du portail Azure

Pour connecter votre serveur Azure Cache pour Redis, le client de cache a besoin du nom d’hôte, des ports et d’une clé pour le cache. Certains clients peuvent référencer ces éléments par des noms légèrement différents. Vous pouvez récupérer le nom d’hôte, les ports et les clés d’accès à partir du portail Azure.

  • Pour récupérer les clés d’accès, sélectionnez Clés d’accès dans la barre de navigation de gauche du cache.

    Azure Cache for Redis keys

  • Pour récupérer le nom d’hôte et les ports, sélectionnez Propriétés dans la barre de navigation de gauche du cache. Le nom d’hôte prend la forme <nom DNS>.redis.cache.windows.net.

    Azure Cache for Redis properties

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 CacheSecrets.config. Ajoutez ensuite le contenu suivant :

    <appSettings>
        <add key="CacheConnection" value="<cache-name>.redis.cache.windows.net,abortConnect=false,ssl=true,allowAdmin=true,password=<access-key>"/>
    </appSettings>
    
  3. Remplacez <cache-name> par le nom d’hôte de votre cache.

  4. Remplacez <access-key> par la clé primaire de votre cache.

    Conseil

    Vous pouvez utiliser la clé d’accès secondaire en tant que clé de remplacement lors de la rotation des clés pendant que vous régénérez la clé d’accès primaire.

  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.

Connexion du fichier web.config au cache

Quand vous exécutez l’application localement, les informations stockées dans le fichier CacheSecrets.config sont utilisées pour la connexion à votre instance du cache Azure pour Redis. Vous pouvez déployer cette application sur Azure ultérieurement. À ce moment-là, vous configurez dans Azure un paramètre d’application que l’application utilisera pour récupérer les informations de connexion au cache au lieu de ce fichier.

Étant donné que le fichier CacheSecrets.config n’est pas déployé sur Azure avec votre application, il sert uniquement pour les tests de l’application en local. Sécurisez ces informations au maximum pour empêcher tout accès malveillant aux données de votre cache.

Pour mettre à jour le fichier web.config

  1. Dans l’Explorateur de solutions, ouvrez le fichier web.config.

    Web.config

  2. Dans le fichier web.config, vous pouvez définir l’élément <appSettings> pour exécuter l’application localement.

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

Le runtime ASP.NET fusionne le contenu du fichier externe avec le balisage dans l’élément <appSettings>. Le runtime ignore l’attribut de fichier si le fichier spécifié est introuvable. Vos secrets (la chaîne de connexion à votre cache) ne sont pas inclus dans le code source de l’application. Quand vous déployez votre application web sur Azure, le fichier CacheSecrets.config n’est pas déployé.

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 StackExchange.Redis
    
  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 StackExchange.Redis.

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

La valeur du secret CacheConnection est accessible à l’aide du fournisseur de configuration Secret Manager et utilisée en tant que paramètre du mot de passe.

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.

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" })
    

    screenshot of welcome page

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.

    Screenshot of simple test completed local

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.

    Publish

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

    Publish to 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.

    App Service dialog box

  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 :

    Publishing output

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.

    Find app

  2. Ajoutez un nouveau paramètre d’application nommé CacheConnection qui sera utilisé par l’application pour se connecter au cache. Utilisez la valeur que vous avez configurée pour CacheConnection dans votre fichier CacheSecrets.config. Cette valeur contient le nom d’hôte et la clé accès du cache.

    Add app setting

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 continuez à utiliser ce guide de démarrage rapide, vous pouvez conserver les ressources que vous avez créées et les réutiliser.

Sinon, dans le cas où l’exemple d’application de démarrage rapide était votre dernière opération, vous pouvez supprimer les ressources Azure que vous avez créées dans ce démarrage rapide afin d’éviter tout 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 pour l'hébergement de cet exemple dans un groupe de ressources existant contenant des ressources que vous souhaitez conserver, vous pouvez supprimer chaque ressource individuellement sur la gauche, 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. Dans la zone Filtrer par nom..., saisissez le nom de votre groupe de ressources. Les instructions de cet article ont utilisé un groupe de ressources nommé TestResources. Sur votre groupe de ressources, dans la liste des résultats, sélectionnez ..., puis Supprimer le groupe de ressources.

    Delete

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

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

Étapes suivantes