public async Task <IClient> GetClientAsync(Guid sessionId) { // Local if (_dic.Select(x => x.Value).Any(x => x.IsLocal == true && x.SessionId == sessionId)) { return(_dic[sessionId]); } // Remote var serverId = await FindServerBySessionIdAsync(sessionId); var client = new RemoteClient() { Node = _nodeProvider.FindNodeById(serverId), SessionId = sessionId }; return(client); }