集线器不在信号r中启动

时间:2015-03-11 15:38:50

标签: c# asp.net-mvc-4 signalr signalr-hub signalr.client

我是新的Signal r。我正在尝试在mvc聊天室应用程序中使用它。 问题是我的中心无法启动所有用户。我只找到一个用户的警报。 还有一件事是。这是在新标签中打开的。

$(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')仅适用于管理员用户,而其他用户则不会发出此警报。

2 个答案:

答案 0 :(得分: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功能将使您有机会处理任何错误。

答案 1 :(得分:0)

为了将来到达此处的任何人的利益,我发现CodingWithSpike建议的.fail功能未向控制台打印任何内容。

我在致电.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.,因为我使用CDN加载最新的jQuery和SignalR,这些与我添加到我的解决方案中的SignalR库不兼容。 )