Implemento el método Connect()
en la interfaz IConnected
para agregar nuevas conexiones a los grupos correctos. Esto funciona bien, excepto por una cosa: para agregar al usuario al grupo correcto, necesito enviar un valor para leer en este método. He intentado añadir la propiedad a la presentación del cliente:SignalR: Cómo enviar datos a IConnected.Connect()
var uIHub = $.connection.uIHub;
uIHub.SessionType = "Edit";
pero no es accesible desde el método Connect
:
if (string.IsNullOrEmpty(Caller.SessionType) || Caller.SessionType == "Edit") {
sessionId = WAFContext.EditSession.SessionId.ToString();
} else {
sessionId = WAFContext.ViewSession.SessionId.ToString();
}
Groups.Add(Context.ConnectionId, sessionId);
Caller.SessionType
siempre es nula.
¿Alguna sugerencia para resolver este problema?
¿Sabes cómo hacer lo mismo con el cliente de JavaScript? He intentado lo siguiente, pero no funciona: var connection = $ .connection ("http: // localhost: 61806 /", "sessionType = visit"); var uIHub = connection.uIHub; –
Esto debería funcionar: '$ .connection.hub.qs =" myInfo = 12345 "; $ .connection.hub.start(); ' –
@akoeplinger ¿es seguro pasar los parámetros userid y username de esta manera? Puede causar algún problema de seguridad? – Freshblood