加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – SignalR如何处理重复的连接ID?

发布时间:2020-12-16 06:47:38 所属栏目:asp.Net 来源:网络整理
导读:我已经创建了自己的IConnectionIdGenerator实现,为了简单地在我的webforms应用程序中,通过登录认证用户的EmailAddress.ToLower()命名客户端连接Id(如果没有,那么它默认返回一个guid). 从我的页面代码调用客户端一切正常. hubContext.Clients[LoggedInUser.Em
我已经创建了自己的IConnectionIdGenerator实现,为了简单地在我的webforms应用程序中,通过登录认证用户的EmailAddress.ToLower()命名客户端连接Id(如果没有,那么它默认返回一个guid).
从我的页面代码调用客户端一切正常.

hubContext.Clients[LoggedInUser.EmailAddress.ToLower()].updateProgress(i)

然而,似乎如果我打开另一个浏览器或具有相同登录用户的选项卡,两个窗口上的永久帧连接都保持给出301结果,然后交替重复200结果.

我假设分配相同的连接ID只会给我一个简单的方法,以确保消息正确地发送给系统的正确用户,无论他们在哪里连接.

它们总是必须是唯一的,我是否必须构建另一层来管理与登录用户帐户的连接,或者我在这里错过了一个技巧?

解决方法

连接ID必须是唯一的.如果你没有使它们独一无二,那么一个人将使另一个连接脱机.在内部,我们使用连接ID作为连接的唯一标识符,我们断开连接.

如果您重复301响应,可能是因为您的应用中有一个名为signalr的文件夹,并且它与共享连接ID没有直接关系.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读