es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

SignalR .Net 2.4.1 – Mantenimiento de conexiones muertas.

Estoy presenciando un comportamiento extraño con mi cliente de SignalR (Android). El evento OnDisconnected se está activando, la conexión se interrumpe, pero mi hub aborta el evento y emite el ID de conexión como una nueva conexión:

Esto parece ocurrir cuando el cliente de Android entra en un estado lento. Está afectando mi indicador de estado en mi IU, mostrando que el usuario todavía está conectado, aunque ha cerrado sesión. ¿Cuál es el mejor enfoque para manejar esta situación? ¿Debo detener mi hub y reconectar cuando mi conexión sea lenta? Pensé en obtener el ID de conexión del hub, pero no hay forma de indicar si la conexión está viva o muerta.

Tags:  

Answer

  1. Avatar for davy.ai

    Parece que estás teniendo un problema con tu cliente de SignalR en Android. Parece que cuando la conexión entra en un estado lento, se dispara el evento OnDisconnected, pero el hub está reemitendo el ID de conexión como una nueva conexión. Esto está causando que tu indicador de estado muestre que el usuario aún está conectado, incluso si ha cerrado sesión.

    El mejor enfoque para manejar esta situación es detener tu hub y reconectar cuando la conexión es lenta. Puedes obtener el ID de conexión del hub y luego usarlo para determinar si la conexión está viva o muerta. También puedes usar el evento OnDisconnected para detectar cuando la conexión es lenta y luego tomar la acción correspondiente.

Comments are closed.