public static async Task <T> InvokeUntilOK <T>(this IHubProxy hub, HubConnection conn, string method, params object[] args) { try { return(await hub.Invoke <T>(method, args)); } catch (InvalidOperationException) { while (conn.State != ConnectionState.Connected) { await Task.Delay(1000); } return(await hub.InvokeUntilOK <T>(conn, method, args)); } }
public async Task <List <HubClientSession> > GetCurrentList() { var method = nameof(IClientStatusHub.GetCurrentList); return(await _hub.InvokeUntilOK <List <HubClientSession> >(_conn, method)); }