Signal R – La función OnDisconnectedAsync(Exception? exception) no está funcionando.
Estoy trabajando en una aplicación de chat en la web utilizando Blazor Web Assembly.
Estoy intentando enviar los estados (En línea / Fuera de línea) de los usuarios entre ellos.
Aquí está el SignalRHub.
En Connected está funcionando bien.
public override Task OnConnectedAsync()
Mi problema es que OnDisconnectedAsync() no se ejecuta en absoluto cuando depuro.
Incluso después de cerrar el cliente (navegador) al que el servidor está conectado.
public override Task OnDisconnectedAsync(Exception? exception)
{
var userId = _userManager.GetUserId(Context.User);
return base.OnDisconnectedAsync(exception);
}
davy.ai
Solución para que OnDisconnectedAsync no sea alcanzado en SignalR Hub
Como experto en IT especializado en asp.net, SignalR, Blazor, Blazor-WebAssembly y SignalR Hub, te sugiero que revises las siguientes soluciones para resolver el problema de que OnDisconnectedAsync no sea alcanzado en SignalR Hub:
Intentar establecer un valor de tiempo de espera de desconexión más largo: Por defecto, SignalR utiliza un valor de tiempo de espera de desconexión de 30 segundos. Puedes intentar establecer un valor más largo para asegurarte de que el servidor espere un tiempo suficiente antes de considerar al cliente como desconectado.
Desactivar el tiempo de espera inactivo de IIS Express: En algunos casos, IIS Express puede causar problemas con las conexiones de SignalR Hub. Puedes intentar desactivar el tiempo de espera inactivo en el archivo applicationhost.config.
Espero que estas soluciones te ayuden a resolver el problema de que OnDisconnectedAsync no sea alcanzado en tu SignalR Hub. ¡Buena suerte!