C# 信号机连接数据为空,并且赢得';t连接

C# 信号机连接数据为空,并且赢得';t连接,c#,signalr,C#,Signalr,我的MVC应用程序中有两个信号集线器,ChatHub和AnotherHub聊天中心工作正常,但我无法连接到另一个。我知道signer认识到另一个hub存在,因为我在/signer/hubs中得到了以下JavaScript: signalR.chatHub = { _: { hubName: 'ChatHub', ignoreMembers: ['post'], connection: function () { return signalR

我的MVC应用程序中有两个信号集线器,
ChatHub
AnotherHub
<代码>聊天中心工作正常,但我无法连接到另一个。我知道signer认识到另一个hub存在,因为我在/signer/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));
    }
};
在聊天页面上,当使用
/signalr/signalr/connect
连接时,Fiddler会告诉我以下内容:

connectionData      [{"name":"chathub"}]
tid                 10
但是,当尝试连接到另一个中心时,Fiddler说:

connectionData      []
tid                 3
聊天页面上的我的javascript:

        cn = $.connection.chatHub;
        $.connection.hub.start();
在另一页上:

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

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

您确定在另一个页面上引用了所有相同的JS库(特别是/signal/hubs)?

是的,非常确定。我可以连接到另一个页面上的
聊天中心
,而不是
另一个聊天中心
。如果你没有在另一个聊天中心注册任何回调,connectionData将是空的。如果我在另一个页面上使用聊天中心有效,反之亦然,我该怎么办?你有没有找到解决方案?我也有同样的错误。我有2个集线器,但第二个集线器上的connectionData为空。我已经设置了回调,但它不起作用。对不起,没有。我决定使用一个集线器,通过不同的方法进行路由。