如何关闭SignalR中的客户端JavaScript“ Hub”连接?

时间:2018-10-23 08:45:24

标签: javascript asp.net websocket signalr asp.net-core-2.1

我关注了this tutorial

但是没有提示如何通过HubConnection文件中的signalr.js类关闭Websocket连接。该文件是V1.0.4。

This solution无法解决我的问题,因为我正在使用Microsoft的javascript库。

以下代码:

var lHubConnection = null;

var Init = function () {

    // create instance
    lHubConnection = new signalR.lHubConnectionBuilder().withUrl("/chatHub").build();

    // receive message
    lHubConnection.on("ReceiveMessage", function (pMessage) {

        // show message
        console.log(JSON.parse(pMessage));
    });

    // [...]
};

// close websocket connection
var CloseConnection = function(){

    if (lHubConnection !== null && lHubConnection.connection.connectionState === 1) {   
        // lHubConnection.invoke("?"); ???
    }
};

这是lHubConnection实例的控制台输出:

enter image description here

1 个答案:

答案 0 :(得分:2)

根据Microsoft的说法,JavaScript客户端包含停止功能。

https://docs.microsoft.com/en-us/javascript/api/%40aspnet/signalr/hubconnection?view=signalr-js-latest#stop

此外,您可以在框架原型中找到.stop()-Method:

signalrR prototype