Quiero cerrar el circuito desde el lado del servidor cuando un usuario está inactivo durante mucho tiempo. La conexión debe terminarse para guardar los recursos de Azure SignalR.
He creado un js-script, un temporizador simple que realiza un seguimiento de los eventos onmousemove y onkeypress y llama al método C# cuando el tiempo ha expirado.
function CloseCircuit() { dotNetHelper.invokeMethodAsync('CloseCircuit'); }He leído sobre la implementación de CircuitHandler, pero no necesito manejar el evento de cerrar o abrir una conexión. De alguna manera tengo que iniciar el cierre de esta conexión desde mi aplicación BlazorServer. agradeceria cualquier consejo
Si usa SignalR Core, puede usar Context.Abort() disponible a través de la clase Hub. P.EJ:
public class MyHub : Hub { public void CloseCircuit() { // This will close the connection of the caller Context.Abort(); } }Si no está utilizando SignalR core, creo que todavía no hay forma de hacerlo. En ese caso, ¿por qué no simplemente detener la conexión desde el lado del cliente, porque ya está haciendo el temporizador allí?