我使用signalR创建了网络聊天应用程序。当用户登录时,用户只能打开3-4个选项卡,每次生成不同的连接ID。我希望当我们打开新标签页或刷新页面时,不应生成新的连接ID。我想使用现有的连接ID。为此,我尝试实现LocalStorage变量来存储集线器连接。 但问题是我无法解析localstorage变量的值。
任何人都可以给我解决我的问题,或者任何人都可以给我解决问题的其他方法吗?
我已经尝试过这个http://kevgriffin.com/maintaining-signalr-connectionids-across-page-instances/,但它对我不起作用
答案 0 :(得分:0)
如果用户已通过身份验证,则可以在HashSet中存储不同的connectionIds。 HashSet的关键字是用户名。
http://www.asp.net/signalr/overview/signalr-20/hubs-api/mapping-users-to-connections
即使您未经过身份验证,也可以使用此方法。在这种情况下,您可以使用SessionId而不是username。
<强> EDITED 强>:
我找到了另一种方法。在此article Alex Ford建议将您的连接限制为3。