Usar SignalR con Web Apps en Azure App Service
por Patrick Fletcher
Advertencia
Esta documentación no es para la última versión de SignalR. Eche un vistazo a SignalR de ASP.NET Core.
En este documento se describe cómo configurar una aplicación SignalR que se ejecuta en Microsoft Azure.
Versiones de software usadas en el tutorial
- Visual Studio 2013 o Visual Studio 2012
- .NET 4.5
- SignalR versión 2
- SDK de Azure 2.3 para Visual Studio 2013 o 2012
Preguntas y comentarios
Deje sus comentarios sobre este tutorial y sobre lo que podríamos mejorar en los comentarios en la parte inferior de la página. Si tiene alguna pregunta que no esté directamente relacionadas con el tutorial, puede publicarla en el foro de SignalR de ASP.NET, en StackOverflow.com o en los foros de Microsoft Azure.
Tabla de contenido
- Introducción
- Implementación de una aplicación web de SignalR en Azure App Service
- Habilitación de WebSockets en Azure App Service
- Uso del backplane de Azure Redis Cache
- Pasos siguientes
Introducción
ASP.NET SignalR se puede usar para aportar un nuevo nivel de interactividad entre servidores y clientes web o .NET. Cuando se hospedan en Azure, las aplicaciones de SignalR pueden aprovechar el entorno de alta disponibilidad, escalable y eficaz que se ejecuta en la nube.
Implementación de una aplicación web de SignalR en Azure App Service
SignalR no supone complicaciones específicas adicionales a la implementación de una aplicación en Azure respecto a la implementación en un servidor local. Una aplicación que usa SignalR se puede hospedar en Azure sin cambios en la configuración ni otras opciones (aunque para la compatibilidad con WebSockets, consulte Habilitación de WebSockets en Azure App Service a continuación). En este tutorial, implementará la aplicación creada en el Tutorial de introducción a Azure.
Requisitos previos
- Visual Studio 2013. Si no tiene Visual Studio, Visual Studio 2013 Express para Web se incluye en la instalación del SDK de Azure.
- SDK de Azure 2.3 para Visual Studio 2013 o SDK de Azure 2.3 para Visual Studio 2012.
- Para completar este tutorial, deberá tener una suscripción de Azure. Puede activar las ventajas de suscriptor de MSDNo registrarse para obtener una suscripción de prueba.
Implementación de una aplicación web de SignalR en Azure
Complete el Tutorial de introducción o descargue el proyecto terminado desde la Galería de código.
En Visual Studio, seleccione Compilar, Publicar chat de SignalR.
En el cuadro de diálogo "Publicar web", seleccione "Sitios web de Windows Azure".
Si no ha iniciado sesión en su cuenta Microsoft, haga clic en Iniciar sesión... en el cuadro de diálogo "Seleccionar sitio web existente" e inicie sesión.
En el cuadro de diálogo "Seleccionar sitio web existente", haga clic en Nuevo.
En el cuadro de diálogo "Crear sitio en Windows Azure", escriba un nombre de aplicación único. Seleccione la región más cercana a usted en la lista desplegable Región. Haga clic en Crear.
En el cuadro de diálogo "Publicar web", haga clic en Publicar.
Cuando la aplicación haya completado la publicación, la aplicación de chat de SignalR hospedada en Azure App Service Web Apps se abrirá en un explorador.
Habilitación de WebSockets en Azure App Service Web Apps
WebSockets debe habilitarse explícitamente en la aplicación web para usarse en una aplicación SignalR; de lo contrario, se usarán otros protocolos (consulte Transportes y reservas para obtener más información).
Para usar WebSockets en Azure App Service Web Apps, habilite en la sección de configuración de la aplicación web. Para ello, abra la aplicación web en el Portal de administración de Azure y seleccione Configurar.
En la parte superior de la página de configuración, asegúrese de que .NET 4.5 se usa para la aplicación web.
En la página de configuración, en el valor de WebSockets, seleccione Activado.
En la parte inferior de la página Configuración, seleccione Guardar para guardar los cambios.
Uso del backplane de Azure Redis Cache
Si usa varias instancias para la aplicación web y los usuarios de esas instancias deben interactuar entre sí (de modo que, por ejemplo, los mensajes de chat creados en una instancia puedan llegar a los usuarios conectados a otras instancias), el backplane de Azure Redis Cache debe estar implementado en la aplicación.
Pasos siguientes
Para obtener más información sobre Web Apps en Azure App Service, consulte Introducción a Web Apps.