Docs 菜单

Docs 主页开发应用程序Atlas Device SDKs

暂停或恢复同步会话 - .NET SDK

在此页面上

  • 何时暂停同步会话

打开同步 Realm 会启动同步会话。要暂停特定会话的同步,可以对该会话调用Stop()方法。

然后,当您对暂停的会话调用Start()方法时,Sync 会话将恢复。

注意

每个会话都是独立的

您必须为要暂停和重新启动同步会话的每个 Realm 手动调用 Stop()Start()方法。 一个会话的同步状态对其他打开的会话没有影响。

以下代码块演示了如何调用Stop()Start()方法:

var session = realm.SyncSession;
session.Stop();
//later...
session.Start();

对于大多数应用程序,无需手动暂停和恢复同步会话。 但是,在某些情况下,您可能希望暂停或暂停同步会话:

  • 您只想在用户执行特定操作后进行同步

  • 您只想在一天中的特定时间进行同步

  • 您不想在网络连接较差时尝试同步

  • 您想要显式强制同步会话连接

在网络连接较差的情况下,不断尝试建立网络连接可能会耗尽用户的设备电池。

显式强制同步会话连接的情况最常见与离线一段时间有关。同步客户端尝试连接,一旦失败,就会Go指数退避状态。长时间离线后,客户端可能无法立即重新连接。 暂停和恢复同步会话会显式强制连接。

当您暂停同步会话时,请记住以下事项:

  • 如果客户端离线时间可能超过客户端最长离线时间,则客户端将无法恢复同步,必须执行客户端重置。

  • 暂停同步会话会使其在两个方向上暂停。您的应用在设备上所做的更改不会与后端同步,对后端或其他设备上的数据更改也不会同步到设备。 无法仅暂停上传或仅暂停下载。

  • 如果您希望客户端永久停止与后端同步,请勿暂停同步会话。 要永久停止同步,请将同步 Realm 的内容复制到非同步 Realm,并在客户端中使用该非同步 Realm。

请勿在不确定的时间段或以月和年为单位的时间范围内通过暂停同步来停止同步。 该功能不是针对这些使用案例而设计或测试的。 以这种方式使用时,您可能会遇到一系列问题。

← 客户端重置 - .NET SDK