如何在用户使用 SignalR 离开页面时发送消息?

How to send a message when the user is leaving the page using SignalR?

我正在使用 ASP.NET 开发一个聊天室程序,我已经发了一条 'user has joined the chatroom' 消息,但是当用户离开页面?我尝试查看网络日志,但看不到任何通过 WebSocket 发送的额外消息。

这将是艰难且不准确的,因为确实无法保证您会收到用户已断开连接的通知。但是有一个你可以监听的 onDisconnect 事件,但老实说,我会使用一个断开连接按钮并用它来做你需要做的事情,它会更一致,因为断开连接不可靠(至少上次我用的是 SignalR,版本是 1.x)

没关系,我使用 JavaScript 了解了 window.onbeforeunload。虽然不是 100% 一致,但比我预期的要一致。