SignalR => как подписаться на событие, используя jquery? - PullRequest
1 голос
/ 12 марта 2020

Я новичок в SignalR. У меня есть код jQuery ниже, который позволяет успешно подключиться к концентратору. Теперь мне нужно подписаться на событие, скажем так, someEvent. Как я могу это сделать? Тип транспорта по журналам: serverSentEvents. Кстати, код на стороне сервера для меня черный ящик, у меня есть только название события ...

var hub = $.hubConnection("https://someurl/"); 

hub.logging = true;
hub.start()
    .done(function () {        
        console.log(`Connected... Hub id: ${hub.id}`);
        console.log("Transport = " + hub.transport.name);

        console.log(hub);        
    })
    .fail(function (err) {
        console.log(`Not connected: ${err}`);
    });

1 Ответ

2 голосов
/ 12 марта 2020

Вот пара примеров и примеров общего использования

Обработка серверных методов / удаленный вызов процедур

Если вы хотите прослушать метод addContosoChatMessageToPage, вы можете сделать это следующим образом this:

var connection = $.hubConnection();
var contosoChatHubProxy = connection.createHubProxy('contosoChatHub');
contosoChatHubProxy.on('addContosoChatMessageToPage', function(name, message) {
    console.log(name + ' ' + message);
});

Обработка событий продолжительности жизни подключения

Если вы хотите прослушать событие жизненного цикла, например starting или connectionSlow, вы можете сделать это следующим образом:

$.connection.hub.connectionSlow(function () {
    console.log('We are currently experiencing difficulties with the connection.')
});

Отправить сообщение на сервер

Если вы хотите отправить сообщение обратно на серверный концентратор, вы можете сделать это следующим образом:

var contosoChatHubProxy = $.connection.contosoChatHub;

$.connection.hub.start().done(function () {
    // Wire up Send button to call NewContosoChatMessage on the server.
    $('#newContosoChatMessage').click(function () {
         contosoChatHubProxy.server.newContosoChatMessage($('#displayname').val(), $('#message').val());
         $('#message').val('').focus();
     });
});

Дальнейшее чтение

Ознакомьтесь с документацией по использованию Hub API на клиенте в Javascript - они на самом деле довольно хороши

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...