Skip to content

Instantly share code, notes, and snippets.

@diegobersano
Last active May 2, 2016 00:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save diegobersano/60a8c457ce3514692b07bded4fabf1f6 to your computer and use it in GitHub Desktop.
Save diegobersano/60a8c457ce3514692b07bded4fabf1f6 to your computer and use it in GitHub Desktop.
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)
{
// Establezco la comunicación con todos los clientes del grupo.
Clients.Group("ListaDeTareas1").markDone(taskId, taskResult);
// Establezco la comunicación con los otros clientes del grupo, es decir
// sin contar con el cliente que invocó al Hub.
Clients.OthersInGroup("ListaDeTareas1").markDone(taskId, taskResult);
// Establezco la comunicación con todos los clientes de los grupos indicados.
Clients.OthersInGroups(new string[] { "ListaDeTareas1", "ListaDeTareas2" })
.markDone(taskId, taskResult);
// Establezco la comunicación con los clientes del grupo indicado,
// excepto los ConnectionId's connectionId1 y connectionId2.
Clients.Group("ListaDeTareas1", connectionId1, connectionId2)
.markDone(taskId, taskResult);
// Establezco la comunicación con los clientes de los grupos indicados,
// excepto los ConnectionId's connectionId1 y connectionId2.
Clients.Groups(
new string[] { "ListaDeTareas1", "ListaDeTareas2" },
connectionId1,
connectionId2)
.markDone(taskId, taskResult);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment