1

我试图使用集线器连接状态来避免每个选项卡多个连接。我做了什么

至今 :

   var connection = $.hubConnection("/signalr", { useDefaultPath: false });
    connection.client = function () { };
    var hub = connection.createHubProxy("NotificationHub");
    hub.on("AddMessage", Method);
    if (hub && hub.state === $.signalR.connectionState.disconnected) {
        connection.start({ jsonp: true })
            .done(function () {
                hub.invoke("FakeLiveState");

                hub.invoke('ConnectionConnectedSaveDB', controllerNameSignalR).done(function () {
                }).fail(function (error) {

                });

            })
            .fail(function (a) {
            });
        connection.disconnected(function () {
            setTimeout(function () {
                connection.start({ jsonp: true })
                    .done(function () {
                        hub.invoke('ConnectionConnectedSaveDB', controllerNameSignalR).done(function () {

                        }).fail(function (error) {
                        });

                    })
                    .fail(function (a) {
                    });;
            }, 5000);
        });
    }

但是 hub.state 的结果不是文档中提到的数字:

https://docs.microsoft.com/en-us/aspnet/signalr/overview/guide-to-the-api/hubs-api-guide-javascript-client

stateChanged:连接状态更改时引发。提供旧状态和新状态(Connecting、Connected、Reconnecting 或 Disconnected)。

hub.state :

在此处输入图像描述

4

0 回答 0