Как остановить соединение сигнализатора от зависания всего на нескольких открытых вкладках? - PullRequest
1 голос
/ 17 апреля 2019

Я использую SignalR 2.2.2 для отправки пользователям сообщений из моего бэкэнда.Когда пользователь входит в систему и если выполняются другие условия, его соединение добавляется в группу с userId пользователя на моем концентраторе сообщений.

Это прекрасно работает, если у него 10 или меньше вкладок /окна открыты.Более того, они застряли в «Загрузка ...» на неопределенное время.

Кажется, это просто застревание в $ .connection.hub.start ();

Я неОбязательно нужно разрешить каждому пользователю бесконечное количество соединений сигнализатора, но разбить весь сайт для них на 10 открытых вкладок - проблема.

Я пытался перехватить или обработать ошибку, но она все еще там висит.

$(function () {

   if (loggedInUser != null)
      {

   var user = loggedInUser.UserId;
    var messaging = $.connection.messageHub;


        if (conditions) {
            $.connection.hub.start().done(function () {
                    messaging.server.joinGroup(user);
            });
        }
     }
});

Я хочу сделать хотя бы одно из следующего:

-Просто прекратите добавлять соединения, если достигнут предел

-Увеличьте предел соединений

-Если предел достигнут, начните закрывать более ранние соединения

-Попробуйте установить соединение и послечерез несколько секунд, если это не сработает, бросьте

...