Menu Docs
Página inicial do Docs
/ /
Atlas Device SDKs
/ /

Suspender ou retomar uma sessão de sincronização - .NET SDK

Nesta página

  • Quando pausar uma sessão de sincronização

A abertura de um Realm sincronizado inicia umasessão de sincronização . Para pausar a sincronização em uma sessão específica, você pode chamar o método Stop() na sessão.

Quando você chama o método Start() na sessão pausada, a sessão de sincronização é retomada.

Observação

Cada sessão é independente

Você deve chamar manualmente os métodos Stop() e Start() para cada realm cuja sessão de sincronização você deseja pausar e reiniciar. O estado de sincronização de uma sessão não tem impacto em outras sessões abertas.

O seguinte bloco de código demonstra a chamada dos métodos Stop() e Start() :

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

Para a maioria dos aplicativos, não é necessário pausar e retomar manualmente uma sessão de sincronização. No entanto, existem algumas circunstâncias em que você pode querer pausar ou suspenso uma sessão de sincronização:

  • Você só quer sincronizar depois que o usuário executar uma ação específica

  • Você só deseja sincronizar durante um determinado horário do dia

  • Você não quer tentar sincronizar quando a conectividade de rede estiver ruim

  • Você deseja forçar explicitamente uma sessão de sincronização para se conectar

No caso de uma conectividade de rede ruim, tentar continuamente estabelecer uma conexão de rede pode esgotar a bateria do dispositivo do usuário.

O caso de forçar explicitamente uma sessão de sincronização para se conectar é mais comumente relacionado a estar offline por algum tempo. O cliente de sincronização tenta se conectar e, em caso de falha, entra em backoff exponencial. After being offline for a long time, the client may not immediately reconnect. Pausar e retomar a sessão de sincronização força explicitamente a conexão.

Ao pausar uma sessão de sincronização, lembre-se do seguinte:

  • Se o cliente ficar offline por mais tempo do que o tempo máximo offline do cliente , o cliente não conseguirá retomar a sincronização e deverá fazer um reinício do cliente.

  • Pausar uma sessão de sincronização a pausa em ambas as direções. As alterações feitas pelo seu aplicativo no dispositivo não são sincronizadas com o backend, e as alterações nos dados no backend ou em outros dispositivos não são sincronizadas com o dispositivo. Não há como pausar apenas uploads ou pausar apenas downloads.

  • Não pause uma sessão de sincronização se quiser que um cliente pare permanentemente de sincronizar com o backend. Para parar permanentemente a sincronização, copie o conteúdo do Realm sincronizado em um Realm não sincronizado e use o Realm não sincronizado no cliente.

Não pause a sincronização para parar a sincronização por períodos indefinidos ou intervalos de tempo em meses e anos. A funcionalidade não foi projetada ou testada para esses casos de uso. Você pode encontrar uma série de problemas ao usá-lo dessa forma.

Voltar

Reinícios do cliente