Nul*_*nce 7 asp.net asp.net-mvc websocket signalr
我有一个MVC项目,有多个页面.
我有一个漫长的运行过程,它会更新客户端的进度.但是,此更新仅发送给单个客户端,而不是向所有客户端广播.
Clients.Client(ConnectionId).sendMessage(msg);
Run Code Online (Sandbox Code Playgroud)
在我的layout.cshtml中,这是我连接到集线器的方式
var serverHub = $.connection.notifier;
window.hubReady = $.connection.hub.start(function () { });
Run Code Online (Sandbox Code Playgroud)
问题是,当我导航到另一个页面时,我不再收到来自signalr的消息,因为连接ID已更改.
我应该如何解决此问题,以便我的信号器中心仍然可以向单个客户端发送消息,同时客户端在页面之间导航.
您将需要创建用户到连接ID的服务器映射.请参阅:SignalR 1.0 beta连接工厂.
您将希望让您的用户坚持通过OnDisconnected事件,当他们使用不同的连接ID连接时,您可以继续向他们提取数据.
所以思考过程可以如下:
注意:如果采用身份验证方法,则必须在开始连接之前进行身份验证,并且在SignalR连接的生命周期内数据不能更改,只能在连接处于断开连接状态时创建/修改数据.
| 归档时间: |
|
| 查看次数: |
5861 次 |
| 最近记录: |