Continuando con los post’s asociados a SignalR, ya hemos podido ver tanto la implementación de SignalR dentro de ASP.NET MVC cómo el concepto del ConnectionId para identificar de forma unívoca a un cliente. Sobre esto último hemos mencionado que en las formas de envío más avanzadas de SignalR se debe hacer uso de este valor.
Veamos cuales son las formas de conexión a clientes que tenemos disponibles desde el servidor hacia los clientes:
Broadcast:
Para mi esta es la forma más sencilla de enviar notificaciones, ya que se las enviamos a absolutamente todos los clientes conectados a nuestra aplicación sin necesidad de conocer quienes son.
Este es el ejemplo que venimos usando desde el primer post asociado a la implementaciónel primer post asociado a la implementación. Para hacer uso de esta opción el Hub usaremos el elemento Clients con la opción All, indicando luego la operación del lado del cliente que queremos invocar:
namespace NotificationApp.Hubs | |
{ | |
using Microsoft.AspNet.SignalR; | |
/// <summary> | |
/// Hub de notificaciones de la aplicación. | |
/// </summary> | |
public class NotificationHub : Hub | |
{ | |
/// <summary> | |
/// Acción de notificación de una tarea completa. | |
/// </summary> | |
/// <param name="taskId">Identificador de la tarea.</param> | |
/// <param name="taskResult">Resultado de la tarea.</param> | |
public void Notificate(int taskId, bool taskResult) | |
{ | |
Clients.All.markDone(taskId, taskResult); | |
} | |
} | |
} |
Seguir leyendo “Opciones para comunicarse con los clientes en SignalR”