Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SignalR es una biblioteca desarrollada por Damian Edwards y David Fowler, miembros
del equipo de ASP .NET y de hecho el código fuente es Open Source y se encuentra en
GitHub. SignalR forma parte de la familia ASP .NET y es útil para crear aplicaciones que
respondan en tiempo real.
SignalR provee una capa de abstracción sobre algunos de los transportes requeridos para
hacer aplicaciones de tiempo real. Estas aplicaciones empiezan directamente sobre HTTP
pero en caso de que se tenga soporte para Web Sockets, dicha conexión será promovida
a que use Web Sockets. Todas las conexiones son administradas por SignalR y permite
transmitir los cambios a todos los clientes conectados como si fuese una sala de chat o en
caso de que sea necesario podemos notificar a un cliente específico.
(https://blogs.msdn.microsoft.com/aiturralde/2012/08/18/introduccin-a-signalr/)
SignalR ofrece una API para crear llamadas remotas (RPC) desde el servidor a funciones
Javascript existentes en el cliente. No tenemos que encargarnos de gestionar la conexión,
ya que SignalR lo hace automáticamente. Podemos enviar mensajes a un cliente
específico o a todos los conectados al servidor.
SignalR se basará en Websocket cuando esté disponible. Cuando no sea el caso, utilizará
otra tecnología disponible para funcionalidades en tiempo real, como puede ser Server
Sent Requests, Forever Frame o Ajax long polling. En función del navegador en el que
se ejecute la aplicación, se escogerá un método de transporte u otro, pero es un proceso
totalmente transparente para nosotros, sin que sea necesario tener conocimientos de estos
transportes ni de cómo debemos implementar nuestro código en función del navegador
que utilicemos. Para implementar una aplicación SignalR tendremos lo que denominamos
un Hub y un Hub proxy. Un Hub/Hub proxy no es más que un medio que permite al
cliente realizar llamadas a métodos servidor y viceversa, como si esos métodos se
estuvieran llamando en local.
El Hub estará en la parte del servidor, y expondrá los métodos disponibles al cliente. El
Hub proxy estará en el lado del cliente, y expondrá los métodos disponibles al servidor.
(https://blogs.msdn.microsoft.com/esmsdn/2016/02/05/creando-aplicaciones-web-
en-tiempo-real-con-signalr/)
SignalR nos ofrece dos fórmulas para trabajar sobre las conexiones que crea con el
servidor:
En cualquiera de los dos casos, y ya centrándonos en el entorno web más habitual, donde
el servidor es una aplicación ASP.NET y los clientes van a ser las páginas o vistas en las
que tendremos un motor de scripting, la implementación de servicios consistirá en:
(https://www.variablenotfound.com/2012/01/introduccion-signalr-i-
conceptos.html)