Démarrage rapide : Utiliser Azure Cache pour Redis avec une application web ASP.NET Core
Dans ce guide de démarrage rapide, vous incorporez Azure Cache pour Redis à une application web ASP.NET Core qui se connecte à Azure Cache pour Redis afin de stocker et obtenir des données à partir du cache.
Vous pouvez utiliser un fournisseur de mise en cache dans votre application web ASP.NET Core. Pour commencer rapidement à utiliser Redis avec des modifications minimales apportées à votre code existant, consultez :
- Fournisseur de cache de sortie ASP.NET Core
- Fournisseur de mise en cache distribué ASP.NET Core
- Fournisseur de session Redis ASP.NET Core
Passer au code
Cet article explique comment modifier le code d’un exemple d’application afin de 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 Core sur GitHub.
Vous pouvez cloner le référentiel GitHub des exemples Azure Cache pour Redis, puis accéder au répertoire quickstart/aspnet-core pour afficher le code source terminé pour les étapes décrites dans cet article.
Le répertoire quickstart/aspnet-core est également configuré en tant que modèle Azure Developer CLI. Utilisez l’outil open source azd pour simplifier l’approvisionnement et le déploiement à partir d’un environnement local vers Azure. Si vous le souhaitez, exécutez la commande azd up
pour provisionner automatiquement une instance Azure Cache pour Redis et configurer l’exemple d’application local pour s’y connecter :
azd up
Explorer l’exemple eShop
À l’étape suivante, vous pouvez voir une application eShop de scénario réel qui illustre les fournisseurs de mise en cache ASP.NET Core : ASP.NET Core eShop à l’aide de fournisseurs de mise en cache Redis.
Voici quelques fonctionnalités :
- Mise en cache distribuée Redis
- Fournisseur d’état de session Redis
Les instructions de déploiement se trouvent dans le fichier README.md dans l’exemple de démarrage rapide ASP.NET Core sur GitHub.
Prérequis
- Un abonnement Azure. Créez-en un gratuitement
- Kit de développement logiciel (SDK) .NET Core
Création d'un cache
Pour créer un cache, connectez-vous au Portail Azure. Dans le menu du portail, sélectionnez Créer une ressource.
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.
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. Sélectionnez l’onglet Mise en réseau ou sélectionnez Suivant : Mise en réseau.
Sous l’onglet Mise en réseau, sélectionnez une méthode de connectivité à utiliser pour le cache.
Sélectionnez l’onglet Avancé ou sélectionnez Suivant : Avancé.
Sous l’onglet Avancé, cochez la case Authentification Microsoft Entra pour activer l’authentification Microsoft Entra.
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.
(Facultatif) Sélectionnez l’onglet Étiquettes ou sélectionnez Suivant : Étiquettes.
(Facultatif) Sous l’onglet Étiquettes, entrez un nom et une valeur d’étiquette si vous voulez catégoriser votre ressource de cache.
Sélectionnez le bouton Vérifier + Créer.
Sous l’onglet Vérifier et créer, Azure vérifie automatiquement votre configuration.
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é.
Obtenir le nom d’hôte
Pour se connecter à votre serveur Azure Cache pour Redis, le client de cache a besoin du nom d’hôte du cache et d’autres informations. Certains clients peuvent faire référence aux éléments à l’aide de noms légèrement différents. Vous pouvez obtenir le nom d’hôte dans le Portail Azure.
- Dans le Portail Azure, accédez à votre cache.
- Dans le menu du service, sélectionnez Vue d’ensemble.
- Sous Essentials, pour Nom d’hôte, sélectionnez l’icône Copier afin de copier la valeur du nom d’hôte. La valeur du nom d’hôte a la forme
<DNS name>.redis.cache.windows.net
.
Ajouter une nouvelle stratégie d’accès utilisateur Redis
L’identité qui accède à Azure Cache pour Redis doit se voir attribuer une stratégie d’accès aux données. Dans cet exemple, vous attribuez une stratégie d’accès aux données au même compte Microsoft Entra ID que vous utilisez pour vous connecter à Azure CLI ou Visual Studio.
Dans le Portail Azure, accédez à votre cache.
Dans le menu du service, sous Paramètres, sélectionnez Configuration de l’accès aux données.
Dans le volet Configuration de l’accès aux données, sélectionnez Ajouter>Nouvel utilisateur Redis.
Dans le volet Nouvel utilisateur Redis, sélectionnez la stratégie Contributeur de données, puis sélectionnez Suivant : Utilisateurs Redis.
Choisissez Sélectionner un membre pour ouvrir le menu volant. Recherchez votre compte d’utilisateur et sélectionnez-le dans les résultats.
Sélectionnez Vérifier + affecter pour attribuer la stratégie à l’utilisateur sélectionné.
Ajouter un secret local pour le nom d’hôte
Dans votre Fenêtre Commande, exécutez la commande suivante pour stocker un nouveau secret nommé RedisHostName. Dans le code, remplacez les espaces réservés, y compris les crochets pointus, par le nom de votre cache et la clé d’accès primaire :
dotnet user-secrets set RedisHostName "<cache-name>.redis.cache.windows.net"
Se connecter au cache en utilisant RedisConnection
La classe RedisConnection
gère la connexion à votre cache. La connexion est établie dans cette instruction dans HomeController.cs dans le dossier Contrôleurs :
_redisConnection = await _redisConnectionFactory;
Le fichier RedisConnection.cs inclut les espaces de noms StackExchange.Redis et Azure.Identity en haut du fichier afin d’inclure des types essentiels pour se connecter à Azure Cache pour Redis :
using StackExchange.Redis;
using Azure.Identity;
Le code de la classe RedisConnection
vérifie qu’il existe toujours une connexion saine au cache. La connexion est gérée par l’instance ConnectionMultiplexer
depuis 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 le référentiel GitHub StackExchange.Redis.
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 la section suivante, vous testez le cache à l’aide du contrôleur que vous ajoutez ici.
Ouvrez Views\Shared\_Layout.cshtml.
Vérifiez que la ligne suivante se trouve dans
<div class="navbar-header">
:<a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="RedisCache">Azure Cache for Redis Test</a>
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.
Dans l’Explorateur de solutions, développez le dossier Vues et faites un clic droit sur le dossier Accueil.
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.
Dans une fenêtre d’invite de commandes, générez l’application à l’aide de la commande suivante :
dotnet build
Exécutez l’application à l’aide de cette commande :
dotnet run
Dans un navigateur Web, accédez à
https://localhost:5001
.Dans la barre de navigation de la page web, sélectionnez Test d’Azure Cache pour Redis pour tester l’accès au cache.
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és 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
Connectez-vous au Portail Azure, puis sélectionnez Groupes de ressources.
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.
Sélectionnez Supprimer le groupe de ressources.
Dans le volet Supprimer un groupe de ressources, entrez 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.