Cuando quieres que un usuario se comunique con el servidor sin tener que recargar la página en la que se encuentra usamos AJAX. Una potentísima tecnología con la que podemos actualizar los datos que tiene el usuario en pantalla de forma rápida y evitando constantes y pesadas recargas en el navegador.
Pero, ¿que pasa si queremos que el servidor sea el que tome la iniciativa enviando información al usuario sin que este haya interactuado previamente? Ajax se nos queda corto, ya que solo permite peticiones cliente-servidor.
Pues para poder lograr conexiones en ambos sentidos tenemos Signalr. Una serie de herramientas para .NET que nos permite crear un canal continuo de comunicación entre el servidor y todos los clientes de una página web, de forma que podemos controlar los eventos que un usuario puede realizar afectando a los demás usuarios.
Imagínate que tienes una aplicación de gestión en la que podemos añadir, modificar o eliminar registros. Pero tenemos un problema, esta aplicación cuenta con 20 usuarios que están continuamente modificando dichos datos, y puede ocurrir que dos o más usuarios coincidan en la modificación del mismo registro a la vez. Pues con Signalr puedes detectar si hay más de un usuario trabajando sobre el mismo registro y avisar a ambos usuarios de que están intentando tocar la misma información, por lo que se perderían datos.
Sencillo, pero MUY ÚTIL.
Nosotros ya hemos probado sus posibilidades y ya estamos trabajando con esta maravillosa tecnología que nos proporciona todo un mundo de posibilidades para hacer aplicaciones más seguras e interactivas.
Ni que decir que te recomendamos la lectura de los artículos de una de las personas que más dominan Signalr: Jose María Aguilar.
Los enlaces:
http://www.variablenotfound.com/2012/01/introduccion-signalr-i-conceptos.html
http://www.variablenotfound.com/2012/01/signalr-ii-conexiones-persistentes.html
y te recomendamos su libro: http://www.campusmvp.com/catalogo/Product-Introducci%C3%B3n-a-ASP.NET-SignalR-(PDF)_178.aspx