private void PreguntarSiHayUnaConversacion() { Task.Factory.StartNew(() => { bool hayError = false; string error = ""; while (IsUsuarioLogueado() && !hayError) { Thread.Sleep(1000); DispatcherOperation op = Dispatcher.BeginInvoke((Action)(() => { try { //Le pido al servidor si hay conversacion existente bool conversacionNueva = controlerCliente.VerificarSiHayConversacionExistente(); //Le pido al servidor los usuarios conectados controlerCliente.VerUsuariosConectados(); //Adaptar vista if (controlerCliente.IsConversacionActiva()) { controlerCliente.RecibirMensajes(); } } catch (ExceptionServer ex) { MostrarError(ex.Message, false); hayError = true; } RefrescarAccionesYTitulos(); RefrescarUsuariosConectados(); CompletarGrillaChat(); })); } }); }