MVC アプリに 2 つの SignalR ハブがありChatHub
、AnotherHub
. ChatHub
正常に動作していますが、もう一方に接続できません。AnotherHub
/signalr/hubs で次の JavaScript を取得しているため、SignalR がその存在を認識していることはわかっています。
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
、別のページにあります。(これは、ハブのコンストラクターでサーバー側のブレークポイントを設定し、フィドラーで ConnectionData パラメーターをチェックすることで確認しました)。何か案は?