背景:
我无法弄清楚为什么从尚未初始化的集线器调用 Disconnect。
我有两个不同的 MVC 视图来创建不同的信号连接:
- ListView(JS 创建一个到不实现 IDisconnect 的 ListHub 的连接)
- DetailsView(JS 创建一个到 DetailsHub 的连接,它实现了 IDisconnect)
当用户登录时,他/她被重定向到 ListView,其中 javascript 创建到 ListHub 的连接,以便页面知道锁定/解锁列表中项目的事件。当用户单击一个项目时,会向 ListHub 发送一个信号,并且该项目被用户锁定。之后,我使用 event.preventDefault() 停止单击执行 GET 请求,它运行良好。
问题是...... 一旦用户离开另一个页面 - 或者如果页面只是重新加载 -就会触发DetailsHub的 Disconnect 方法。我不明白为什么会这样。请记住,ListHub 是迄今为止唯一的活动集线器。没有初始化其他集线器或连接。不过,这是我得到的行为。
我想要达到的目标
我在这里想要实现的是在 DetailsHub 上引发/调用 Disconnect 时做一些事情。当用户与 ListHub 断开连接时,我不希望发生任何事情。