Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未触发signalr js client onReconnecting()_Javascript_Asp.net Core_Signalr_Asp.net Core Signalr - Fatal编程技术网

Javascript 未触发signalr js client onReconnecting()

Javascript 未触发signalr js client onReconnecting(),javascript,asp.net-core,signalr,asp.net-core-signalr,Javascript,Asp.net Core,Signalr,Asp.net Core Signalr,我在处理signalR js客户端上的连接生存期事件时遇到问题。我正在使用客户端上的npm库和asp.net core服务器上的microsoft.aspnetcore.signar库 问题是 当我关闭服务器(alt+F4)时,客户机方法onClosed(error)被激发,我想要的是,中如何描述onReconnecting()方法被激发,客户机尝试重新连接。我已经尝试忽略此问题,并在onClosed(error)方法中建立一个新连接,但随后我得到一个Uncaught(in promise)错误

我在处理signalR js客户端上的连接生存期事件时遇到问题。我正在使用客户端上的npm库和asp.net core服务器上的microsoft.aspnetcore.signar库

问题是 当我关闭服务器(alt+F4)时,客户机方法
onClosed(error)
被激发,我想要的是,中如何描述
onReconnecting()
方法被激发,客户机尝试重新连接。我已经尝试忽略此问题,并在
onClosed(error)
方法中建立一个新连接,但随后我得到一个
Uncaught(in promise)错误:无法启动一个不处于“初始”状态的连接。
error

我的问题是 为什么
onClosed(error)
方法被触发,而客户端不尝试重新连接,我可能如何解决这个问题

澄清代码: 客户 服务器集线器“TestHub”
Asp.NET核心的信号器没有重新连接。您在先前版本的SignalR文档中查找了重新连接时的
,但新版本中不再提供该功能。请看描述两者之间更大的突破性变化的列表。

谢谢。有没有处理断开连接的最佳实践?最简单的就是你所拥有的。但这不会处理丢失的邮件。。。
var connection = new signalR.HubConnection('http://localhost:8956/testhub');
connection.on('onStart', function() {
    console.log('onStart');
  });

  connection.on('onEnd', function() {
    console.log('onEnd');
  })

  console.log('connection=', connection);

  connection.onClosed = function(error) {   // this gets fired
    console.log('connection closed');
    //setTimeout(function() {
    //  connection.start();
    //}, 10000);
  }

  connection.onReconnecting = function() {   // this not
    console.log('trying to reconnect');
  }

  connection.start();
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.AspNetCore.SignalR;
using System.Threading.Tasks;


namespace SignalRCoreConsole.Hubs
{
    class TestHub : Hub
    {
        public void Start()
        {
            Clients.All.InvokeAsync("onStart");
            Console.WriteLine("TestHub: Start");
        }

        public void End()
        {
            Clients.All.InvokeAsync("onEnd");
            Console.WriteLine("TestHub: End");
        }

        public override Task OnDisconnectedAsync(Exception exception)
        {
            Console.WriteLine("client disconnected");
            return base.OnDisconnectedAsync(exception);
        }

        public override Task OnConnectedAsync()
        {
            Console.WriteLine("client connected");
            return base.OnConnectedAsync();
        }
    }
}