0

MVC アプリに 2 つの SignalR ハブがありChatHubAnotherHub. 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 パラメーターをチェックすることで確認しました)。何か案は?

4

1 に答える 1

0

別のページで同じ JS ライブラリ (特に /signalr/hubs) をすべて参照しましたか?

于 2012-10-12T14:53:46.573 に答える