SignalR ConnectionData为空,不会连接

时间:2012-10-12 13:12:54

标签: c# signalr

我的MVC应用中有两个SignalR中心,ChatHubAnotherHubChatHub工作正常,但我无法连接到另一个。我知道SignalR认识到AnotherHub存在,因为我在/ signalr / hubs中获得了以下JavaScript:

signalR.chatHub = {
    _: {
        hubName: 'ChatHub',
        ignoreMembers: ['post'],
        connection: function () { return signalR.hub; }
    },

    post: function (room, message) {
        return invoke(this, "Post", $.makeArray(arguments));
    }
};

signalR.anotherHub = {
    _: {
        hubName: 'AnotherHub',
        ignoreMembers: ['doSomething'],
        connection: function () { return signalR.hub; }
    },

    doSomething: function (thing) {
        return invoke(this, "DoSomething", $.makeArray(arguments));
    }
};

在聊天页面上,Fiddler在与/signalr/signalr/connect连接时告诉我以下内容:

connectionData      [{"name":"chathub"}]
tid                 10

然而,当尝试连接到anotherHub时,Fiddler说:

connectionData      []
tid                 3

我在聊天页面上的javascript:

        cn = $.connection.chatHub;
        $.connection.hub.start();

并在另一页上:

        cn = $.connection.anotherHub;
        $.connection.hub.start();

现在,这是一件好奇的事;当我在另一个页面上将anotherHub更改为chatHub时,连接会起作用。当我在聊天页面上将chatHub更改为anotherHub时,这也有效。另一个页面上唯一没有anotherHub的组合。 (我已经通过集线器构造函数上的服务器端断点确认了这一点,并检查了fiddler的ConnectionData参数)。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您确定在另一个页面上引用了所有相同的JS库(尤其是/ signalr / hubs)吗?