SignalR y unirse a grupos

Estoy buscando en SignalR un proyecto en el que estoy trabajando, y parece ser EXACTAMENTE lo que quiero. Sin embargo, un poco por el que todavía estoy un poco desconcertado es en los grupos y en unirse.

Trataré de describir el contexto de la implementación primero. Entonces, un usuario dentro de un sistema existente querrá celebrar una reunión sobre un tema determinado y luego creará una sala con un nombre / identificador dado, luego invitará a otros a participar y, básicamente, será como una sala de chat privada.

Así que los pasos que asumo serían como el anfitrión, crear una sala y unirse a ella, y luego enviar invitaciones que requieran que los usuarios hagan clic para indicar al servidor a qué sala unirse.

Ahora, a partir de la documentación, veo que hay un método de unión y desconexión al que se puede conectar para poner a alguien en un grupo, sin embargo, parece que la unión no tiene un contexto asociado, excepto la cadena de consulta, por lo que estoy un poco confundido en cuanto a lo que desencadena una Unión, como es de esperar, sería un método activado manualmente por el cliente que pasa por algún objeto dando contexto en cuanto a qué espacio colocar, ya que podría tener cientos de habitaciones privadas.

Entonces, ¿cómo se le da un poco de contexto al método de Unión y al de desconexión, para que sepan a qué sala se está uniendo, como si no se activara manualmente, cómo puede configurar la cadena de consulta, y si se activa manualmente, por qué puede Usted no envía un objeto personalizado. es decir

public Task Join()
{
    var groupName = Context.QueryString["some-room-identifier"];
    return Groups.Add(Context.ConnectionId, groupName);
}

vs

public Task Join(string groupName)
{
    return Groups.Add(Context.ConnectionId, groupName);
}

Entonces, ¿me estoy perdiendo algo o hay alguna forma de darle contexto a un usuario que se une para que lo coloquen en el lugar correcto la primera vez?

Respuestas a la pregunta(1)

Su respuesta a la pregunta