Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

240
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!