信号空连接数据在我的第二个集线器

本文关键字:我的 第二个 集线器 数据 连接 信号 | 更新日期: 2023-09-27 18:09:10

在过去的一年中,我有一个信号集线器工作没有问题。今天,当试图添加第二个集线器时,它就是不起作用。我按照第一个人的步骤去做,但无济于事。

下面是我的~/signalr/hubs

的输出
 // Create hub signalR instance
$.extend(signalR, {
    errorPageHub: {
        _: {
            hubName: 'Web.Infrastructure.Logging.Broadcasting.ErrorPageHub',
            ignoreMembers: ['error', 'event', 'warning', 'success', 'namespace', 'ignoreMembers', 'callbacks'],
            connection: function () { return signalR.hub; }
        },
        error: function (error, callback) {
            return serverCall(this, "Error", $.makeArray(arguments));
        },
        event: function (eventDescription, callback) {
            return serverCall(this, "Event", $.makeArray(arguments));
        },
        warning: function (warning, callback) {
            return serverCall(this, "Warning", $.makeArray(arguments));
        },
        success: function (success, callback) {
            return serverCall(this, "Success", $.makeArray(arguments));
        }
    },
    pulsePageHub: {
        _: {
            hubName: 'Web.Infrastructure.Logging.Broadcasting.PulsePageHub',
            ignoreMembers: ['tenderAdded', 'tenderUpdated', 'projectAdded', 'projectUpdated', 'namespace', 'ignoreMembers', 'callbacks'],
            connection: function () { return signalR.hub; }
        },
        tenderAdded: function (message, callback) {
            return serverCall(this, "TenderAdded", $.makeArray(arguments));
        },
        tenderUpdated: function (message, callback) {
            return serverCall(this, "TenderUpdated", $.makeArray(arguments));
        },
        projectAdded: function (message, callback) {
            return serverCall(this, "ProjectAdded", $.makeArray(arguments));
        },
        projectUpdated: function (message, callback) {
            return serverCall(this, "ProjectUpdated", $.makeArray(arguments));
        }
    }
});

在我的页面上使用"errorPageHub"当我调用

$.connection.hub.start({ transport: 'longPolling' }, function () {
        console.log('connection started!');
    });

输出到firebug::

connectionData  [{"name":"Web.Infrastructure.Logging.Broadcasting.ErrorPageHub","methods":["addError","addSuccess","addWarning","addEvent"]}]
connectionId    1806c3f7-e2e0-4ec7-9eb1-670a43fac912
transport   longPolling

connectiondata与我在页面上初始化的集线器相对应。现在在我试图使用pulsePageHub的页面上,当使用相同的connection.hub.start调用时,以下是输出到firebug(请注意这些是在不同的页面上,我只有一个对连接的调用。从一页开始)

connectionData  []
connectionId    05b2354d-63ac-469a-bf0b-bd4e06e56426
transport   longPolling

我正在初始化pulseHub在完全相同的方式,我正在做我的errorPageHub,但connectiondata总是空的,因此它从来没有拿起任何广播。如果我将errorPageHub初始化添加到该页,则发送的唯一connectionData是errorPageHub。

如何初始化第二个集线器以接收广播?这个问题与这里提出的问题非常相似,但它从未得到解决

我的hub在客户端是这样声明的::

        var error = $.connection.errorPageHub;
    error.addError = function (message) {
        appendMessage(message, "error");
    };
    error.addSuccess = function (message) {
        appendMessage(message, "info");
    };
    error.addWarning = function (message) {
        appendMessage(message, "warning");
    };

    error.addEvent = function (message) {
        appendMessage(message, "info");
    };
}

和我的脉搏页面中心如下:

  var pulse = $.connection.pulsePageHub;
    pulse.tenderAdded = function (message) {
        appendMessage(message, "info");
        alert("hi");
    };
    pulse.tenderUpdated = function (message) {
        appendMessage(message, "warning");
        alert("hi");
    };
    pulse.projectAdded = function (message) {
        appendMessage(message, "info");
        alert("hi");
    };
    pulse.projectUpdated = function (message) {
        appendMessage(message, "warning");
        alert("hi");
    };

信号空连接数据在我的第二个集线器

您使用的是哪个版本的SignalR ?

您需要在开始连接之前为您感兴趣的集线器连接事件处理程序。即:

hub.client。

= function() {};