2. Sobre
Esteban Yañez
Full Stack Developer en tecnologías
Microsoft en Lagash
Xamarin developer.
Twitter: @Teban3010
Slack Net-Baires: @teban
Apasionado por la tecnología.
3. Agenda
DATOS EN TIEMPO REAL USANDO SIGNAL R
01 | Introducción
02 | SignalR en la Web
03 | SignalR en el Cliente
04 | Escalando SignalR
5. ¿Qué es SignalR?
SignalR es una serie de abstracciones alrededor de varios
métodos que proven conexiones HTTP persistentes distribuidas
como código open-source.
[¿Me lo podes decir en castellano?]
SignalR hace tan fácil trabajar HTTP en Tiempo Real que parece
magia.
6. Conceptos
Representa un endpoint
para enviar mensajes a un
usuario único, un grupo de
usuarios o distribuidos.
Connection
Un pipeline de alto nivel
construido sobre el
Connection API que le
permiten al cliente y al
servidor comunicarse
directamente entre ellos.
Hub
Backplane permite escalar tu
aplicación en múltiples
servidores. Con backplane
habilitado, cada instancia de
la aplicación le envía un
mensaje a este, y este lo
redirecciona a las otras
instancias de la aplicación.
Backplane
13. Selección del Modo de Transporte
1. Si el browser es IE8 o menor, usa Long Pooling.
2. Si esta configurado JSONP (esto es, el parámetro de JSONP esta seteado en true cuando comienza la
conexión), usa Long Pooling.
3. Si se hace una conexión cross-domain (esto es, si el endpoint de SignalR no esta en el mismo dominio que el
host) entonces usa WebSocket si se cumple el siguiente criterio:
El cliente soporta CORS (Cross-Origin Resource Sharing).
El cliente soporta WebSocket.
El servidor soporta WebSocket.
Si alguno de estos criterios no se cumple, se usa Long Poling.
4. Si no esta configurado JSONP y la conexión no es cross-domain, se utiliza WebSocket si ambos, el cliente y el
servidor, lo soportan.
5. Si el cliente o el servidor no soportan WebSocket, se usa Server Sent Events si esta disponible.
6. Si no esta disponible Server Sent Events, se usa Forever Frame.
7. Si Forever Frame falla, se usa Long Pooling.
14. Connections y Hubs
Connections (low-level)
El API Persistent Connection (que en código .NET se encuentra con la clase
PersistentConnection) da acceso directo al protocolo de comunicación que expone
SignalR a bajo nivel.
Hubs (high-level)
La API Hub esta construida por encima de la API Persistant Connection, y permite que el
cliente y el servidor se comuniquen directamente.
23. ¿Cómo elijo el tipo de BackPlane?
¿Está hosteado
en Azure?
Y N
¿Usas Redis
Cache?
¿Usas Redis
Cache?
Usa Azure Service
Bus
Usa Redis Usa SQL ServerY Y
NN