Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

380
Vistas
Enviar mensajes SignalR simultáneos con una conexión

¿Cómo puedo enviar múltiples mensajes de SignalR en paralelo con una sola conexión?

Tengo el siguiente método hub:

 public async Task Test() { Console.WriteLine($"Start: {DateTime.Now}"); await Task.Run(() => Task.Delay(1000)); Console.WriteLine($"Stop: {DateTime.Now}"); }

En mi cliente tengo la siguiente conexión:

 private connection: HubConnection = new HubConnectionBuilder() .withUrl(this.url) .configureLogging(LogLevel.Information) .withAutomaticReconnect([1000, 2000, 3000, 4000, 5000]) .build();

Estoy llamando al método hub así:

 async test(): Promise<void> { try { console.log('start: ' + new Date().toString()); await this.connection.invoke('Test'); console.log('stop: ' + new Date().toString()); } catch (err) { console.error(err); } }

Cuando llamo al método de prueba en mi cliente varias veces, el concentrador recibe los mensajes uno tras otro en lugar de todos a la vez.

registro del cliente:

inicio: lun 29 de noviembre de 2021 17:27:35 GMT+0100 (3)
parada: lun 29 de noviembre de 2021 17:27:36 GMT+0100
parada: lun 29 de noviembre de 2021 17:27:37 GMT+0100
parada: lun 29 de noviembre de 2021 17:27:38 GMT+0100

Registro del servidor:

Inicio: 29.11.2021 17:27:35
Parada: 29.11.2021 17:27:36
Inicio: 29.11.2021 17:27:36
Parada: 29.11.2021 17:27:37
Inicio: 29.11.2021 17:27:37
Parada: 29.11.2021 17:27:38

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Para permitir múltiples invocaciones paralelas por cliente, debe configurar la propiedad MaximumParallelInvocationsPerClient , así:

 builder.Services.AddSignalR(options => options.MaximumParallelInvocationsPerClient = 10);
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda