Inicio rápido: Uso de Azure Cache for Redis con una aplicación web de ASP.NET
En este inicio rápido usará Visual Studio 2019 para crear una aplicación web de ASP.NET que se conecte a Azure Redis Cache para almacenar y recuperar datos de la caché. Después implementará la aplicación en Azure App Service.
Ir al código en GitHub
Clone el repositorio https://github.com/Azure-Samples/azure-cache-redis-samples/tree/main/quickstart/aspnet en GitHub.
Requisitos previos
- Una suscripción a Azure: cree una cuenta gratuita
- Visual Studio 2019 con las cargas de trabajo ASP.NET y desarrollo web y desarrollo de Azure.
Creación de una caché
A continuación, creará la caché de la aplicación.
Para crear una caché, inicie sesión en Azure Portal. En el menú de Azure Portal, seleccione Crear un recurso.
En el panel Comenzar, escriba Azure Cache for Redis en la barra de búsqueda. En los resultados de la búsqueda, encuentre Azure Cache for Redis y, a continuación, seleccione Crear.
En el panel Nueva Redis Cache, en la pestaña Aspectos básicos, configure las siguientes opciones para la memoria caché:
Configuración Acción Descripción Suscripción Seleccione la suscripción a Azure. La suscripción que se va a usar para crear la nueva instancia de Azure Cache for Redis. Grupo de recursos Seleccione un grupo de recursos o Crear nuevo, y escriba un nombre nuevo para el grupo de recursos. Nombre del grupo de recursos en el que se va a crear la memoria caché y otros recursos. Al colocar todos los recursos de la aplicación en un grupo de recursos, puede administrarlos o eliminarlos fácilmente. Nombre DNS Escriba un nombre único. El nombre de caché debe ser una cadena de 1 a 63 caracteres que contenga solo números, letras y guiones. El nombre debe comenzar y terminar por un número o una letra y no puede contener guiones consecutivos. El nombre de host de la instancia de caché es \<DNS name>.redis.cache.windows.net
.Ubicación Seleccione una ubicación. Una región de Azure cercana a otros servicios que usan la memoria caché. SKU de la caché Seleccione una SKU. La SKU determina los parámetros de tamaño, rendimiento y característica que están disponibles para la memoria caché. Para más información, consulte la introducción a Azure Cache for Redis. Tamaño de la caché Seleccione un tamaño de caché. Para más información, consulte la introducción a Azure Cache for Redis. Seleccione la pestaña Redes o Siguiente: Redes.
En la pestaña Redes, seleccione un método de conectividad que se usará para la memoria caché.
Seleccione la pestaña Opciones avanzadas o Siguiente: Opciones avanzadas.
En el panel Opciones avanzadas, compruebe o seleccione un método de autenticación en función de la siguiente información:
- De manera predeterminada, para una nueva caché Básica, Estándar o Premium, la Autenticación de Microsoft Entra está habilitada y la Autenticación de claves de acceso está deshabilitada.
- Para las cachés Básica o Estándar, puede elegir la selección de un puerto que no sea TLS.
- Para las cachés Estándar y Premium, puede habilitar las zonas de disponibilidad. No puede deshabilitar las zonas de disponibilidad una vez creada la caché.
- En el caso de una caché Premium, configure las opciones para un puerto que no sea TLS, la agrupación en clústeres, la identidad administrada y la persistencia de datos.
Importante
Para obtener una seguridad óptima, se recomienda usar Microsoft Entra ID con identidades administradas para autorizar solicitudes en la memoria caché, si es posible. La autorización mediante Microsoft Entra ID y las identidades administradas proporciona una seguridad y facilidad de uso superiores a la autorización mediante claves de acceso compartidas. Para más información sobre el uso de identidades administradas con la memoria caché, consulte Uso de Microsoft Entra ID para la autenticación de caché.
(Opcional) Seleccione la pestaña Etiquetas o Siguiente: Etiquetas.
(Opcional) En la pestaña Etiquetas, escriba un nombre de etiqueta y un valor si desea clasificar el recurso de caché.
Seleccione el botón Revisar y crear.
En la pestaña Revisar y crear, Azure valida automáticamente la configuración.
Tras aparecer el mensaje verde Validación superada, seleccione Crear.
Se produce una nueva implementación de caché durante varios minutos. Puede supervisar el progreso de la implementación en el panel Información general de Azure Cache for Redis. Cuando Estado muestra En ejecución, la memoria caché está lista para usarse.
Habilitación de la autenticación de Microsoft Entra ID en la memoria caché
Si tiene una memoria caché, compruebe si se ha habilitado la autenticación de Microsoft Entra. Si no es así, habilítela. Se recomienda usar Microsoft Entra ID para las aplicaciones.
En Azure Portal, seleccione la instancia de Azure Cache for Redis en la que desea usar la autenticación basada en tokens de Microsoft Entra.
Seleccione Autenticación en el menú Recurso.
Actualice el panel de trabajo para ver si está activada Habilitar la autenticación de Microsoft Entra. Si es así, puede continuar.
Seleccione Habilitar autenticación de Microsoft Entra y escriba el nombre de un usuario válido. Al usuario que escriba se le asigna automáticamente una directiva de acceso del propietario de datos de forma predeterminada al seleccionar Guardar. También puede escribir una identidad administrada o una entidad de servicio para conectarse a la instancia de caché.
Se muestra un cuadro de diálogo emergente en el que se le pregunta si desea actualizar la configuración e informa de que tarda varios minutos. Seleccione Sí.
Importante
Una vez completada la operación de habilitación, los nodos de la instancia de caché se reinician para cargar la nueva configuración. Se recomienda realizar esta operación durante la ventana de mantenimiento o fuera del horario comercial pico. Esta operación puede tardar hasta 30 minutos.
Para obtener información sobre el uso de Microsoft Entra ID con la CLI de Azure, consulte las páginas de referencias para la identidad.
Para editar el archivo CacheSecrets.config
Cree un archivo en el equipo llamado CacheSecrets.config. Colóquelo en una ubicación en la que no se pueda comprobar con el código fuente de la aplicación de ejemplo. En esta guía de inicio rápido, el archivo CacheSecrets.config se encuentra en C:\AppSecrets\CacheSecrets.config.
Edite el archivo Web.config . Después, agregue el siguiente contenido:
<appSettings> <add key="RedisHostName" value="<cache-hostname>:<port-number>"/> </appSettings>
Reemplace
<cache-hostname>
por el nombre de host de caché tal como aparece en la hoja Información general de Azure PortalReemplace
<port-number>
por el número de puerto del host de caché.Guarde el archivo.
Actualización de la aplicación MVC
En esta sección, puede ver una aplicación MVC que presenta una vista que muestra una prueba sencilla realizada para una instancia de Azure Cache for Redis. La aplicación MVC puede conectarse a la instancia de Azure Managed Redis (versión preliminar) cuando la configuración "RedisHostName" apunta a la instancia de Azure Managed Redis.
Instalación de StackExchange.Redis
La solución necesita que se ejecute el paquete StackExchange.Redis
. Instálelo, con este procedimiento:
Para configurar la aplicación para que use el paquete NuGet StackExchange.Redis para Visual Studio, seleccione Herramientas > Administrador de paquetes NuGet > Consola del Administrador de paquetes.
Ejecute el siguiente comando desde la ventana
Package Manager Console
:Install-Package Microsoft.Azure.StackExchangeRedis
El paquete de NuGet se descarga y agrega las referencias de ensamblado necesarias para que la aplicación cliente tenga acceso a Azure Cache for Redis con el cliente
Microsoft.Azure.StackExchangeRedis
.
Conectar a la caché con RedisConnection
La clase RedisConnection
administra la conexión a la caché. La conexión se realiza por primera vez en esta instrucción de ContosoTeamStats/Controllers/HomeController.cs
:
private static Task<RedisConnection> _redisConnectionFactory = RedisConnection.InitializeAsync(redisHostName: ConfigurationManager.AppSettings["RedisHostName"].ToString());
En RedisConnection.cs
, verá que el espacio de nombres StackExchange.Redis
se ha agregado al código. Esto es necesario para la clase RedisConnection
.
using StackExchange.Redis;
El código RedisConnection
garantiza que siempre haya una conexión en buen estado a la memoria caché mediante la administración de la instancia ConnectionMultiplexer
desde StackExchange.Redis
. La clase RedisConnection
vuelve a crear la conexión cuando se pierde una conexión y no se puede volver a conectar automáticamente.
En la siguiente línea de código se usa Microsoft Entra ID para conectarse a Azure Cache for Redis o Azure Managed Redis (versión preliminar) sin contraseña.
var configurationOptions = await ConfigurationOptions.Parse($"{_redisHostName}").ConfigureForAzureWithTokenCredentialAsync(new DefaultAzureCredential());
Para obtener más información, consulte StackExchange.Redis y el código en un repositorio de GitHub.
Vistas de diseño en el ejemplo
El diseño de página principal de este ejemplo se almacena en el archivo _Layout.cshtml. En esta página, se inician las pruebas de caché reales haciendo clic en la Prueba de Azure Cache for Redis de esta página.
En el Explorador de soluciones, expanda la carpeta Vistas>Compartido. Después, abra el archivo _Layout.cshtml.
Verá la siguiente línea en
<div class="navbar-header">
.@Html.ActionLink("Azure Cache for Redis Test", "RedisCache", "Home", new { area = "" }, new { @class = "navbar-brand" })
Mostrar datos de la memoria caché
En la página principal, seleccione Prueba de Azure Cache for Redis para ver la salida de ejemplo.
En el Explorador de soluciones, expanda la carpeta Vistas y, luego, haga clic con el botón derecho en la carpeta Inicio.
Debería ver este código en el archivo 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>
Probar la aplicación localmente
De forma predeterminada, el proyecto está configurado para hospedar la aplicación localmente en IIS Express para pruebas y depuración.
Para ejecutar la aplicación localmente
En Visual Studio, seleccione Depurar>Iniciar depuración para crear e iniciar la aplicación localmente para pruebas y depuración.
En el explorador, seleccione Azure Redis Cache Test (Prueba de Azure Redis Cache) en la barra de navegación.
En el ejemplo siguiente, la clave
Message
tenía anteriormente un valor almacenado en caché, que se estableció mediante la consola de Azure Redis Cache en el portal. La aplicación actualizó ese valor almacenado en caché. La aplicación también ejecutó los comandosPING
yCLIENT LIST
.
Publicación y ejecución en Azure
Cuando haya probado con éxito la aplicación localmente, puede implementarla en Azure y ejecutarla en la nube.
Para publicar la aplicación en Azure
En Visual Studio, haga clic con el botón derecho en el nodo del proyecto en el Explorador de soluciones. Después, seleccione Publicar.
Seleccione Microsoft Azure App Service, después Crear nuevo y después seleccione Publicar.
En el cuadro de diálogo Crear servicio de aplicaciones, realice los cambios siguientes:
Setting Valor recomendado Descripción Nombre de la aplicación Use el valor predeterminado. El nombre de la aplicación es el nombre de host de la aplicación cuando se implementa en Azure. El nombre puede tener un sufijo de marca de tiempo que se le agrega, si es necesario, para que sea único. Suscripción Elija la suscripción de Azure. En esta suscripción se cargan los costos de hospedaje relacionados. Si tiene varias suscripciones de Azure, compruebe que se selecciona la suscripción deseada. Grupos de recursos Use el mismo grupo de recursos donde creó la caché (por ejemplo, TestResourceGroup). El grupo de recursos le ayuda a administrar todos los recursos como un grupo. Más adelante, si desea eliminar la aplicación, puede eliminar simplemente el grupo. plan de App Service Seleccione Nuevo y después cree un nuevo plan de App Service llamado TestingPlan.
Use la misma ubicación que utilizó al crear la caché.
Elija Libre para el tamaño.Un plan de App Service define un conjunto de recursos de proceso con los que se ejecuta una aplicación web. Después de definir la configuración del hospedaje de App Service, seleccione Crear.
Supervise la ventana Salida en Visual Studio para ver el estado de la publicación. Cuando se haya publicado la aplicación, se registra la dirección URL de la aplicación:
Adición de la configuración de aplicación para la caché
Cuando se publica la nueva aplicación, agregue una nueva configuración de aplicación. Esta configuración se usará para almacenar la información de conexión de caché.
Para agregar la configuración de aplicación
Escriba el nombre de la aplicación en la barra de búsqueda en la parte superior de Azure Portal para buscar la nueva aplicación que ha creado.
Agregue una nueva configuración de aplicación llamada CacheConnection para la aplicación que se usará para conectarse a la caché. Use el mismo valor que configuró para
RedisHostName
en el archivo web.config.
Ejecutar la aplicación en Azure
En el explorador, vaya a la dirección URL de la aplicación. La dirección URL aparece en los resultados de la operación de publicación en la ventana de salida de Visual Studio. También se proporciona en Azure Portal en la página de información general de la aplicación que creó.
Seleccione Prueba de Azure Cache for Redis en la barra de navegación para probar el acceso a la memoria caché como hizo con la versión local.
Limpieza de recursos
Si desea seguir usando los recursos que creó en este artículo, mantenga el grupo de recursos.
De lo contrario, si ya ha terminado con los recursos, puede eliminar el grupo de recursos de Azure que ha creado para evitar cargos.
Importante
La eliminación de un grupo de recursos es irreversible. Cuando elimine un grupo de recursos, todos los recursos contenidos en él se eliminan permanentemente. Asegúrese de no eliminar por accidente el grupo de recursos o los recursos equivocados. Si ha creado los recursos en un grupo de recursos existente que contiene recursos que desea conservar, puede eliminar cada recurso individualmente en lugar de eliminar el grupo de recursos.
Para eliminar un grupo de recursos
Inicie sesión en Azure Portal y después seleccione Grupos de recursos.
Seleccione el grupo de recursos que desea eliminar.
Si hay muchos grupos de recursos, use el cuadro Filtro para cualquier campo... y escriba el nombre del grupo de recursos que creó para este artículo. Seleccione el grupo de recursos en la lista de resultados.
Seleccione Eliminar grupo de recursos.
Se le pedirá que confirme la eliminación del grupo de recursos. Escriba el nombre del grupo de recursos para confirmar y, después, seleccione Eliminar.
Transcurridos unos instantes, el grupo de recursos y todos sus recursos se eliminan.