首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Signalr:跨页面请求跟踪用户状态

问Signalr:跨页面请求跟踪用户状态
EN

Stack Overflow用户
提问于 2015-07-23 14:49:54
回答 1查看 460关注 0票数 0

我正在尝试在ASP.NET webforms站点中使用Signalr实现即时消息传递。

到目前为止,我已经有了一个良好的开端,我可以从一个客户端发送一个信息给另一个客户,没有任何问题。

我的问题来自于维护跨asp.net请求的聊天窗口。

当用户打开聊天窗口并导航到站点上的新页面时,这将被视为断开连接并连接到signalr集线器。(客户端获得新的ConnectionID)。

这是一个问题,因为它意味着我不能确定这是一个用户首先连接(没有打开聊天窗口,只是登录到网站),或者他们是否有一个活动的聊天窗口,只是更改页面。

如果他们只是改变了页面,我想保持聊天窗口打开与信息显示。我可以从我们的数据库中重建会话,但是无法知道是否应该显示这个会话。

我已经考虑过使用某种超时机制(如果这段对话在最后X分钟内处于活动状态,然后显示在新页面上),但在我看来,这似乎有点笨拙。

由于我无法保存OnDisconnect中的活动会话(因为这不能使用任何参数),所以我必须使用某种轮询机制来保存上次打开会话窗口时的时间戳。

我想知道是否有人遇到过类似的问题,如果他们遇到了,他们是如何接近他们的。

任何帮助都是徒劳无功的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-24 10:21:21

找到了解决办法。使用cookie跟踪页请求之间的活动会话ID。增加了使用超时值的好处,即使person注销,然后在指定的时间范围内再次登录。

感谢cdslnte触发了这个想法..。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31590877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档