SignalR ConnectionData为空,无法连接 [英] SignalR ConnectionData empty, and won't connect

查看:27
本文介绍了SignalR ConnectionData为空,无法连接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的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

聊天页面上的My javascript:

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

在另一页上:

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

推荐答案

是否确实引用了另一页上的所有相同JS库(特别是/SignalR/Hubs)?

这篇关于SignalR ConnectionData为空,无法连接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆