Partage via


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

Dans ce guide de démarrage rapide, vous utilisez Visual Studio 2019 pour modifier une application web ASP.NET qui se connecte à Azure Cache pour Redis afin de stocker et de récupérer des données du cache. Ensuite, vous déployez cette application sur Azure App Service.

Passer au code

Cet article explique comment modifier le code d’un exemple d’application pour créer une application fonctionnelle qui se connecte à Azure Cache pour Redis.

Si vous voulez passer directement au code, consultez l’exemple de démarrage rapide ASP.NET sur GitHub.

Prérequis

Création d'un cache

Ensuite, créez le cache à utiliser avec 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 la page Démarrer, entrez Azure Cache pour Redis dans la zone 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. Un nom pour le groupe de ressources où 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 contenant seulement 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 des 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 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 de 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 auprès 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. Quand État indique En cours d’exécution, le cache est prêt à être utilisé.

Obtenir le nom d’hôte, les ports et la clé d’accès

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

  • Pour obtenir une clé d’accès pour votre cache :

    1. Dans le portail Azure, accédez à votre cache.
    2. Dans le menu du service, sous Paramètres, sélectionnez Authentification.
    3. Dans le volet Authentification, sélectionnez l’onglet Clés d’accès.
    4. Pour copier la valeur d’une clé d’accès, sélectionnez l’icône Copier dans le champ de la clé.

    Capture d’écran montrant comment trouver et copier une clé d’accès pour une instance d’Azure Cache pour Redis.

  • Pour obtenir le nom d’hôte et les ports de votre cache :

    1. Dans le portail Azure, accédez à votre cache.
    2. Dans le menu du service, sélectionnez Vue d’ensemble.
    3. Sous Fonctionnalités essentielles, pour Nom d’hôte, sélectionnez l’icône Copier pour copier la valeur du nom d’hôte. La valeur du nom d’hôte est de la forme <DNS name>.redis.cache.windows.net.
    4. Pour Ports, sélectionnez l’icône Copier pour copier les valeurs des ports.

    Capture d’écran montrant comment trouver et copier le nom d’hôte et les ports d’une instance d’Azure Cache pour Redis.

Modifier le fichier CacheSecrets.config

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

  2. Ouvrez le fichier CacheSecrets.config pour y ajouter le contenu suivant.

    Dans le code :

    • Remplacez <cache-name> par le nom d’hôte de votre cache.

    • Remplacez <access-key> par la clé d’accès principale 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.

    <appSettings>
        <add key="CacheConnection" value="<cache-name>.redis.cache.windows.net,abortConnect=false,ssl=true,allowAdmin=true,password=<access-key>"/>
    </appSettings>
    
  3. Enregistrez le fichier .

Mettre à jour l’application MVC

Dans cette section, une application modèle-vue-contrôleur (MVC) affiche un test simple pour la connexion à 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 stade, vous configurez dans Azure un paramètre d’application que l’application utilise pour récupérer les informations de connexion au cache au lieu d’utiliser le fichier de configuration.

Comme le fichier CacheSecrets.config n’est pas déployé sur Azure avec votre application, vous l’utilisez seulement quand vous testez l’application localement. Sécurisez ces informations au maximum pour empêcher les accès malveillants aux données de votre cache.

Mettre à jour le fichier web.config

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

    Capture d’écran montrant le fichier web.config dans l’Explorateur de solutions de Visual Studio.

  2. Dans le fichier web.config, définissez 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.

Pour installer le package StackExchange.Redis :

  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. Dans la fenêtre Console du gestionnaire de package, exécutez la commande suivante :

    Install-Package StackExchange.Redis
    

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 en utilisant le client StackExchange.Redis.

Se connecter au cache en utilisant RedisConnection

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

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

La valeur du secret CacheConnectionCacheConnection est accessible en utilisant le fournisseur de configuration du Gestionnaire de secrets et est utilisée en tant que paramètre de mot de passe.

Dans RedisConnection.cs, vous pouvez voir que l’espace de noms StackExchange.Redis est ajouté au code. La classe RedisConnection nécessite l’espace de noms.

using StackExchange.Redis;

Le code de RedisConnection vérifie qu’il existe toujours une connexion saine au cache. La connexion est gérée via l’instance ConnectionMultiplexer dans StackExchange.Redis. La classe RedisConnection recrée la connexion quand 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.

Vérifier les vues de disposition dans l’exemple

La mise en page d’accueil de cet exemple est stockée dans le fichier _Layout.cshtml. Dans cette page, vous démarrez le test réel du cache en sélectionnant Test d’Azure Cache pour Redis.

  1. Dans l’Explorateur de solutions, sélectionnez Vues, puis cliquez avec le bouton droit sur le dossier Partagé. Ouvrez ensuite le fichier _Layout.cshtml.

  2. Vérifiez que la ligne suivante se trouve dans <div class="navbar-header"> :

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

    Capture d’écran montrant les options d’accueil et de navigation sur une page web.

Afficher des données à partir du cache

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

  1. Dans l’Explorateur de solutions, sélectionnez Vues, puis cliquez avec le bouton droit sur le dossier Accueil.

  2. Vérifiez que le code suivant se trouve 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 montrant 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 Visual Studio, dans l’Explorateur de solutions, cliquez avec le bouton droit sur le nœud du projet, puis sélectionnez Publier.

    Capture d’écran montrant la commande de menu Publier mise en évidence dans Azure.

  2. Sélectionnez Microsoft Azure App Service>Nouveau>Publier.

    Capture d’écran montrant les options de menu à définir pour publier sur App Service.

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

    Setting Action 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 avoir été ajouté au nom pour le rendre unique.
    Abonnement Sélectionnez votre abonnement Azure. Tous les frais d’hébergement associés sont facturés sur cet abonnement. Si vous avez plusieurs abonnements Azure, vérifiez que l’abonnement à utiliser 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. Plus tard, quand vous voulez supprimer l’application, vous pouvez supprimer le groupe de ressources pour supprimer toutes les ressources associées.
    Plan App Service Sélectionnez Nouveau et créez un plan App Service nommé TestingPlan.
    Utilisez pour Emplacement la même valeur que celle que vous avez utilisée lors de la création de votre cache.
    Pour la taille, sélectionnez Gratuite.
    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 dans Azure.

  4. Après avoir configuré les paramètres de l’hôte App Service, sélectionnez Créer.

  5. Dans la fenêtre Sortie, vérifiez l’état de la publication. Une fois que l’application a été publiée, l’URL de l’application apparaît dans la sortie :

    Capture d’écran montrant la fenêtre de sortie de la publication dans Visual Studio.

Ajouter un paramètre d’application pour le cache

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

Pour ajouter le paramètre d’application :

  1. Dans le portail Azure, entrez le nom de l’application dans la barre de recherche.

    Capture d’écran montrant la recherche d’une application dans 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 CacheConnection dans le fichier CacheSecrets.config. Cette valeur contient le nom d’hôte et la clé accès du cache.

    Capture d’écran montrant l’ajout d’un paramètre d’application.

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 apparaît également dans le portail Azure, dans le volet Vue d’ensemble de votre application.

  2. Dans la barre de navigation de la page web, sélectionnez Test d’Azure Cache pour Redis 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, pour éviter les frais liées aux ressources, si vous en avez terminé avec les ressources, vous pouvez supprimer le groupe de ressources Azure que vous avez créé.

Avertissement

La suppression d’un groupe de ressources est irréversible. Quand vous supprimez un groupe de ressources, toutes les ressources contenues dans ce groupe 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 qui contient des ressources que vous voulez conserver, vous pouvez supprimer chaque ressource individuellement au lieu de supprimer le groupe de ressources.

Supprimer un groupe de ressources

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

  2. Sélectionnez le groupe de ressources à supprimer.

    S’il existe de nombreux groupes de ressources, dans Filtrer un champ, entrez le nom du groupe de ressources que vous avez créé pour effectuer les étapes de cet article. Dans la liste des résultats de la recherche, sélectionnez le groupe de ressources.

    Capture d’écran montrant une liste de groupes de ressources où choisir le groupe à supprimer.

  3. Sélectionnez Supprimer le groupe de ressources.

  4. Dans le volet Supprimer un groupe de ressources, entrez le nom de votre groupe de ressources pour confirmer, puis sélectionnez Supprimer.

    Capture d’écran montrant une zone qui nécessite l’entrée du nom de la ressource pour confirmer la suppression.

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