繁体   English   中英

如何在 angular 8 项目中为 SignalR 配置重新连接逻辑?

[英]How do I configure reconnect logic for SignalR within an angular 8 project?

我正在使用

    "@aspnet/signalr": "^1.1.4",

在 Angular 8 项目中。

不幸的是,文档似乎已过时?

https://docs.microsoft.com/en-us/aspnet/core/signalr/javascript-client?view=aspnetcore-3.1

文档声称有一种方法

withAutomaticReconnect()

用作

const connection = new signalR.HubConnectionBuilder()
    .withUrl("/chatHub")
    .withAutomaticReconnect()
    .build();

但是,当我尝试输入它时,我得到

“HubConnectionBuilder”类型上不存在属性“WithAutomaticReconnect”

这是文档过时的问题吗? 还是我误解了配置?

这是我在尝试添加此方法之前的确切代码

    private _hubConnection: HubConnection;

...

        this._hubConnection = new HubConnectionBuilder()
        .withUrl(this.myAPIUrl + '/myHub', { accessTokenFactory: () => tokenFromCache })
        .configureLogging(signalR.LogLevel.Error)
        .build();

您参考的文档使用 npm 包“@microsoft/signalr”,而您的使用“@aspnet/signalr”

您需要一个更新的版本,我相信它是版本 3,只需在您的终端中运行以下命令,我将它与 React 前端一起使用。

npm install @microsoft/signalr

也许你可以这样做

this._hubConnection.start().catch(_ => setTimeout(() => {
            this._hubConnection.start();
        }, 1000));

因此,如果有任何异常,它会将您的客户端重新连接到集线器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM