在我的场景中,我使用SignalR进行登录。
如果用户1使用用户名'abc'登录,而用户2使用用户名'abc'登录,则用户1将被踢,并重定向两个登录页面。
但是如果用户1登录并刷新页面然后用户2尝试登录用户,则不会被踢。因为刷新用户时丢失了连接。我尝试了许多解决方案,比如尝试重新连接断开连接事件,但它无法正常工作。
有人可以提供帮助吗?
答案 0 :(得分:0)
客户端断开连接方案
在浏览器客户端中,维护SignalR连接的SignalR客户端代码在网页的JavaScript上下文中运行
当用户关闭浏览器窗口或选项卡,或导航到新页面或刷新页面时,SignalR连接立即结束,因为SignalR客户端代码为您处理该浏览器事件并调用Stop方法。在这些场景中,或者在应用程序调用Stop方法的任何客户端平台中,OnDisconnected事件处理程序立即在服务器上执行,客户端引发Closed事件(该事件在JavaScript中被命名为disconnected)