SignalR如何管理回发之间的连接

时间:2013-11-03 06:53:45

标签: postback signalr

1>只想了解SignalR 1.x如何在特定场景中运行

假设我们有一个连接到Hub的10个客户端,其中一个连接的客户端说client-1执行回发,因此调用OnDisconnected而不是OnConnected被调用?

如果在此阶段期间客户端2尝试在所述方案之间准确地向客户端1发送消息(即在客户端1断开之后且在再次连接之前发送消息)将会发生客户端1错过消息或有内部机制可以确保client-1不会错过client-2发送的消息

2 - ;我的第二个查询是我正在尝试使用以下代码传递查询字符串

 var chat = $.connection.myHub;
            $.connection.myHub.qs = { "token": "hello" };

但无法从Context对象在服务器端检索它 使用

Context.QueryString.AllKeys

我甚至尝试过

 var chat = $.connection.myHub;
            $.connection.myHub.qs =  "token=hello" ;

但它不起作用,即当我检查密钥时,AllKeys中不存在令牌

如果有人帮助我,我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

1:如果发生回发,客户端将断开连接然后再连接。但是,当客户端再次执行连接时,它将具有与回发之前不同的连接ID。因此,将丢失发送到旧连接ID的任何消息,因为当用户浏览器再次连接时,它将被称为不同的客户端。

2:您正在尝试在集线器代理上设置查询字符串,而不是连接。你应该做的是:

$.connection.hub.qs = { foo: "bar" };
相关问题