Implementuję metodę Connect()
na interfejsie IConnected
, aby dodać nowe połączenia do właściwych grup. Działa to dobrze, z wyjątkiem jednej rzeczy: aby dodać użytkownika do właściwej grupy, należy wysłać wartość do odczytania w tej metodzie. Próbowałem dodać obiekt do koncentratora klienta:SignalR: Jak wysłać dane do IConnected.Connect()
var uIHub = $.connection.uIHub;
uIHub.SessionType = "Edit";
Ale to nie jest dostępne od sposobu 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
zawsze ma wartość null.
Wszelkie sugestie, jak rozwiązać ten problem?
Czy wiesz, jak zrobić to samo z klientem javascript? Próbowałem następujące, ale to nie działa: var connection = $ .connection ("http: // localhost: 61806 /", "sessionType = wizyta"); var uIHub = connection.uIHub; –
To powinno działać: '$ .connection.hub.qs =" myInfo = 12345 "; $ .connection.hub.start(); ' –
@akoeplinger jest bezpieczne przekazywanie parametrów userid i username w ten sposób? Może powodować problemy z bezpieczeństwem? – Freshblood