如何强制在集线器,信号器上执行OnDisconnected

时间:2019-04-01 10:51:41

标签: asp.net-mvc signalr

我知道这是一个重复的问题,其中带有“ SignalR - OnDisconnected is called too late”字样,还有其他几个问题,但他们似乎根本没有答案。我正在使用2.3.0.0 .Net Signalr库和Asp.net mvc4开发视频聊天应用程序。在我的VideoHub中,它从Signalr库的Hub基类扩展并覆盖OnConnected(),OnDisconnected()。我有一个在线用户列表,一个用户将被添加到OnConnected()中的列表中,并在OnDisconnected()中被删除。但是问题在于,当用户从键盘上按“ F5”按钮或其他方式刷新网页OnDisconnected( )大约需要10到30秒的时间才能被调用,并在此时间内OnConnected()被执行。

我一直在互联网上寻找解决方案,有人说强迫OnDisconnected()由以下人员调用:

    window.onbeforeunload = function (e) {
        $.connection.hub.connection.stop();
    };

会有所帮助,但我在浏览器控制台中收到此消息:“ connection.hub.connection.stop不是功能”。

因此,如果有人知道这是怎么回事,请在哪里找到一些文档或如何解决此问题,请帮忙。

0 个答案:

没有答案