2015-03-11 2 views
0

Я новый сигнал r.and Я пытаюсь использовать его в приложении для чата mvc. Проблема заключается в том, что мой концентратор не запускается для всех пользователей. Я нахожу оповещение только для одного пользователя. И еще одна вещь. Это открыто в новой вкладке.Hub не запускается в сигнале r

$(function() { 
      // Reference the auto-generated proxy for the hub. 
      var chat = $.connection.chatHub; 

      chat.client.UserStatus = function (newUserId) {  
       alert('New User Comes'); 
      }; 


      $.connection.hub.start().done(function() { 
       alert('Hub starts'); 
      }); 
     }); 

alert ('Hub starts') приходит только для пользователя admin, а для другого пользователя это предупреждение не приходит.

+0

Любые ошибки в консоли для пользователей, не являющихся администраторами? – Izzy

ответ

1

Вы пытались добавить .fail в отложенный ответ, указанный start?

 $.connection.hub.start().done(function() { 
      alert('Hub starts'); 
     }).fail(function (e) { 
      alert('There was an error'); 
      console.error(e); 
     }); 

.done функция вызывается только тогда, когда .start успешно, так будет пропущен, когда возникает ошибка. Наличие функции .fail даст вам возможность обрабатывать любые ошибки.

0

В интересах любого, прибывающего сюда в будущем, я обнаружил, что функция .fail, предложенная CodingWithSpike, ничего не печатала на пульте.

Я добавил следующее перед вызовом .start():

$.connection.hub.error(function(err){ 
    console.log(err); 
}); 

(В моем случае, это напечатано You are using a version of the client that isn't compatible with the server. Client version 1.5, server version 1.4., потому что я использовал КДС, чтобы загрузить последнюю версию JQuery и SignalR, и они не были совместимы с Библиотеки SignalR, которые я добавил в мое решение.)