服务器经常丢失Azure SignalR连接

时间:2019-02-20 18:57:40

标签: c# asp.net azure signalr azure-signalr

我的ASP.NET Web API(目标框架:.NET Framework 4.6.2)项目经常失去与Azure SignalR服务(免费层)的连接。我遵循了 aspnet “聊天室” example中显示的示例。

我的客户端应用程序基于Angular JS。邮件正在发送给客户端,但是几个小时后,与Azure SignalR服务的服务器连接丢失,并且不再建立。

据我从MS Azure SignalR内部documentation了解到:

  

如果由于网络问题而断开了服务器连接,

     
      
  • 服务器连接开始自动重新连接
  •   

以下错误返回作为响应:

  

Azure SignalR服务尚未连接,请稍后再试

但是,这似乎没有发生,即没有再次建立与Azure SignalR服务的服务器连接。

enter image description here

nuget软件包:

  • Microsoft.AspNet.SignalR v2.4.0
  • Microsoft.AspNet.SignalR.Core v2.4.0
  • Microsoft.AspNet.SignalR.SystemWeb v2.4.0
  • Microsoft.Azure.SignalR.AspNet v1.0.0-preview1-10317
  • Microsoft.Azure.SignalR.Protocols v1.0.6

2 个答案:

答案 0 :(得分:0)

您是否已在客户端中添加了如下错误处理代码-

 // Define handlers for any errors
        //
        this.hubConnection.error((error: any) => {
            // Push the error on our subject
            //
            this.hubConnection.start()
                .done(() => {
                    this.startingSubject.next();

                    //Invoke connect method on Hub
                    //  this.hubProxy.invoke("Connect", userId, usertype);

                })
                .fail((error: any) => {
                    this.startingSubject.error(error);
                });
        });

在关闭连接的情况下,代码也会像

this.hubConnection.onclose(() => { 
    setTimeout(function(){
    this.hubConnection.start()
               .done(() => {
                    this.startingSubject.next();

                        //Invoke connect method on Hub
                      //  this.hubProxy.invoke("Connect", userId, usertype);

                   })
                  .fail((error: any) => {
                        this.startingSubject.error(error);
                   });
       },3000); 
   }); 

希望有帮助。

MV

答案 1 :(得分:0)

当前有一个issueMicrosoft.Azure.SignalR.AspNet v1.0.0-preview1-10317。该修复程序计划于本周发布。