Uncaught TypeError: signalR.httpConnection is not a constructor

Uncaught TypeError: signalR.httpConnection is not a constructor

我试图让所有连接的用户都具有身份,但它说错误的标题是:Uncaught TypeError: signalR.httpConnection is not a constructor

对于这一行:

let hubUrl = '/chatHub'
let httpConnection = new signalR.httpConnection(hubUrl);
let hubConnection = new signalR.hubConnection(httpConnection);

hubConnection.on('SetUsersOnline', usersOnline => {
    if (usersOnline.length > 0) {
        $('#onlineUsers').innerText = '';
        $.each(usersOnline, function (i, user) {

            addUserOnline(user);

        });

    }

});

hubConnection.start();

SignalR 的语法经常更改,很难判断哪个版本的正确和不正确。只需更新到最新的 SignalR 并试试这个:

const connection = new signalR.HubConnectionBuilder()
                    .withUrl("/chatHub")
                    .configureLogging(signalR.LogLevel.Information)
                    .build();

connection.on('SetUsersOnline', usersOnline => {
    if (usersOnline.length > 0) {
        $('#onlineUsers').innerText = '';
        $.each(usersOnline, function (i, user) {
            addUserOnline(user);
        });
    }
});

connection.start().catch(err => console.error(err.toString()));