Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

241
Visualizações
SignalR se desconecta cada pocos minutos después de que la pestaña está en segundo plano

Estoy usando SignalR para la comunicación entre un frontend de Vue.js y un backend de dotnet.

Cuando pones en segundo plano la pestaña de la interfaz después de una cantidad de tiempo (aparentemente aleatoria), la conexión se desconecta. Debido a que estoy usando la reconexión automática, el zócalo se vuelve a conectar, pero luego, hasta que la pestaña se vuelva a enfocar, el zócalo continuará desconectándose cada dos minutos y lo colocará en un bucle de reconexión.

ingrese la descripción de la imagen aquí

Unas pocas cosas:

  • Parece que sucede en todos los navegadores excepto en Firefox
  • Cuando se ejecuta tanto el frontend como el backend localmente, no hay problema
  • Ejecutar el frontend localmente pero el backend de forma remota causa el problema
  • Ninguna aplicación se ejecuta en IIS
  • Los tiempos de espera de Kestrel se han establecido en una hora (por si acaso)
  • La desconexión inicial que hace que las reconexiones comiencen a repetirse no ocurre en un momento constante, solo en algún lugar alrededor de la marca de 5 a 10 minutos.
  • No se arrojan errores por ninguno de los extremos.

El código del lado del cliente es extremadamente básico:

 this.connection = new HubConnectionBuilder() .withUrl(this.url) .withAutomaticReconnect() .build()

El código del lado del servidor es igualmente básico:

 public override async Task OnConnectedAsync() { //Create client code here await base.OnConnectedAsync(); } public override async Task OnDisconnectedAsync(Exception exception) { if(exception != null) _logger.LogErrorToFile(exception.Message); _logger.LogInformationToFile($"Client with id: {GetConnectionId()} disconnected.{GetUsername()}"); await base.OnDisconnectedAsync(exception); }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Chrome realizó una actualización a principios de este año que detiene las conexiones cuando no están enfocadas después de unos 5 minutos. El problema/solución que comentó Nirbhay es en realidad para la versión ASP.NET (2.4.2) y no es compatible con .NET CORE. Este es el problema que se planteó para .NET CORE: github.com/dotnet/aspnetcore/issues/31079

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda