Etiqueta: HTTP Long Polling

Implementando SignalR en ASP.NET MVC

Implementando SignalR en ASP.NET MVC

En la entrada anterior vimos algunos puntos asociados al funcionamiento general de SignalR y el planteo que propone. Lo que veremos en este nuevo post es cómo implementarlo en una aplicación ASP.NET MVC y lograr al menos una interacción básica.

Lo primero que haremos es definir el funcionamiento de nuestra aplicación. Lo que queremos lograr es armar un check-list compartido entre distintos usuarios, donde cuando uno de ellos marque un elemento como realizado o no, a los otros también les aparezca dicho estado actualizado. Para este ejemplo haremos algo muy básico, lo cual con el correr de los post’s de esta serie iremos haciendo crecer.

Comenzaremos con una aplicación ASP.NET MVC básica, instalando el paquete Nuget asociado a SignalR:

Install-Package Microsoft.AspNet.SignalR

Una vez finalizada la instalación, deberemos crear el archivo Startup.cs dentro de la raíz de nuestro proyecto web. Es en el mismo donde mediante OWIN estableceremos la inicialización de los mapeos necesarios para la interacción con SignalR, quedando el archivo de la siguiente forma:

ImplementacionSignalR - ClaseStartup
Definición de clase Startup usando OWIN

Hasta allí está lo que es la configuración inicial del proyecto. Lo posterior a hacer será crear el Hub que se encargará de la comunicación con los clientes. Para ello crearemos la carpeta Hubs dentro de la raíz del proyecto web, y dentro de la misma el elemento “SignalR Hub Class” con nombre NotificationHub: Seguir leyendo “Implementando SignalR en ASP.NET MVC”

Introducción: SignalR en ASP.NET MVC

En la entrada anterior vimos de forma general cómo podemos realizar aplicaciones real-time en ASP.NET MVC. En este post nos vamos a centrar en el primero de esos puntos: SignalR.

Como ya vimos, SignalR nos permite gestionar todas aquellas funcionalidades en las cuales tenemos una interacción en dos vías (conexión bidireccional) entre el servidor y sus clientes.

ASP.NET SignalR es una librería para los desarrolladores de aplicaciones ASP.NET que simplifica el proceso de agregar funcionalidad basada en interacción web en tiempo real. Cuando hablamos de interacción web en tiempo real hacemos referencia a la capacidad de poder enviar contenido desde el servidor a determinadas aplicaciones clientes que lo tendrán disponible de forma inmediata, en vez de que el servidor tenga que esperar que el cliente le solicite nueva información. Esto permite lograr un esquema de conexión bidireccional completo.

Si nuestra aplicación ASP.NET tiene alguna interacción donde necesitamos tener comunicación bidireccional, y para ello utilizamos alguna técnica alternativa (como por ejemplo long polling), quiere decir que podemos usar SignalR en la misma.

 

Vamos a ver algunas cuestiones de teoría asociada a esta interacción en tiempo real entre cliente y servidor. Básicamente existen varias técnicas para poder lograr este comportamiento, algunas mejores en su planteamiento y otras que tienen una mayor compatibilidad: Seguir leyendo “Introducción: SignalR en ASP.NET MVC”