【发布时间】:2021-12-02 15:03:28
【问题描述】:
我在使用 signalR 时遇到了一种奇怪的行为。我只在一个组件上使用它(我的 ui 上的 vue.js)。 当用户在破坏事件中导航到另一个页面(我有 spa 应用程序)时,我试图关闭连接。我正在尝试两种选择:
JS: connection.stop();
BE: i catch disconnect message in public override Task OnDisconnectedAsync method
或
JS: connection.invoke('Resource', params);
BE: await Groups.RemoveFromGroupAsync(Context.ConnectionId, "<group name>");
连接已成功关闭,但经过一段时间(约 15-20 秒)后,signalR 正在尝试再次连接到服务器(但元素块中不存在该组件)。一段时间后连接恢复,但该组件不存在。如果我刷新我的 spa 页面(使用 F5)signalR 不会尝试连接,但如果我使用 signalR 打开组件,情况又会重新开始。
也许有人可以帮助我:
- 为什么会这样?
- 我应该如何断开客户端和服务器
【问题讨论】:
标签: javascript asp.net .net signalr