Docs Menu
Docs Home
/ /
Sincronizar datos

Suspender o reanudar una sesión de sincronización - .NET SDK

Al abrir un reino sincronizado se inicia una sincronización Sesión. Para pausar la sincronización de una sesión específica, puede llamar al método Stop() en la sesión.

Cuando luego se llama el método Start() en la sesión pausada, la sesión de sincronización se reanuda.

Nota

Cada sesión es independiente

Debes llamar manualmente al Stop() y los métodos Start() para cada dominio cuya sesión de sincronización desee pausar y reiniciar. El estado de sincronización de una sesión no afecta a las demás sesiones abiertas.

El siguiente bloque de código demuestra cómo llamar a los métodos Stop() y Start():

realm = Realm.GetInstance(config);
session = realm.SyncSession;
session.Stop();
//later...
session.Start();

En la mayoría de las aplicaciones, no es necesario pausar y reanudar manualmente una sesión de sincronización. Sin embargo, existen algunas circunstancias en las que podría ser conveniente pausar o suspender una sesión de sincronización:

  • Solo desea sincronizar después de que el usuario realice una acción específica

  • Solo desea sincronizar durante un momento determinado del día.

  • No debes intentar sincronizar cuando hay una mala conectividad de red

  • Quiere forzar explícitamente una sesión de sincronización para conectarse

En el caso de una mala conectividad de red, intentar continuamente establecer una conexión de red puede agotar la batería del dispositivo del usuario.

El caso de forzar explícitamente la conexión de una sesión de sincronización suele estar relacionado con estar desconectado durante un tiempo. El cliente de sincronización intenta conectarse y, al fallar, entra en una fase de desconexión exponencial. Tras un tiempo prolongado desconectado, es posible que el cliente no se vuelva a conectar inmediatamente. Pausar y reanudar la sesión de sincronización fuerza explícitamente la conexión.

Cuando pause una sesión de sincronización, tenga en cuenta lo siguiente:

  • Si el cliente puede estar fuera de línea por un tiempo mayor al máximo permitido, no podrá reanudar la sincronización y deberá reiniciarlo.

  • Pausar una sesión de sincronización la pausa en ambos sentidos. Los cambios que realiza la aplicación en el dispositivo no se sincronizan con el backend, y los cambios en los datos del backend o de otros dispositivos no se sincronizan con el dispositivo. No es posible pausar solo las cargas ni las descargas.

  • No pause una sesión de sincronización si desea que un cliente deje de sincronizarse permanentemente con el backend. Para ello, copie el contenido del dominio sincronizado en uno no sincronizado y utilice este último en el cliente.

No pause la sincronización para detenerla por períodos indefinidos o intervalos de tiempo de meses o años. Esta función no está diseñada ni probada para estos casos de uso. Podría experimentar diversos problemas al usarla de esta manera.

Volver

Restablecimientos de clientes

En esta página