I implement the Connect() method on IConnected interface to add new connections to the correct groups. This works well except for one thing: in order to add the user to the correct group, I need to send a value to be read in this method. I tried adding property to the client hub:
var uIHub = $.connection.uIHub;
uIHub.SessionType = "Edit";
But it’s not accessible from the Connect method:
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 is always null.
Any suggestions on how to solve this?
I solved this by adding my information to the querystring, which is available on the
IConnected.Connect()method.On the .NET client you pass the querystring into your
HubConnection:On the JS client, you set the
qsproperty before starting the connection:You can then access this information on the server in the
Connect()method: