同期セッションの一時停止または再開 - .NET SDK
同期された Realm を起動すると、 同期セッションが開始されます。 特定のセッションの同期を一時停止するには、セッションでstop()メソッドを呼び出します。
一時停止されたセッションでStart()メソッドを呼び出すと、同期セッションは再開されます。
注意
各セッションは独立しています
Stop()
Start()
同期セッションを一時停止して再起動する同期セッションを持つ Realm ごとに、 メソッドと メソッドを手動で呼び出す必要があります。1 つのセッションの同期状態は、開いている他のセッションには影響しません。
次のコード ブロックは、Stop()
メソッドとStart()
メソッドを呼び出す方法を示しています。
realm = Realm.GetInstance(config); session = realm.SyncSession; session.Stop(); //later... session.Start();
同期セッションを一時停止するタイミング
ほとんどのアプリケーションでは、同期セッションを手動で一時停止して再開する必要はありません。 ただし、同期セッションを一時停止または一時停止する必要がある状況もいくつかあります。
ユーザーが特定のアクションを実行した後にのみ同期したい場合
特定の時間のみ同期したい場合
ネットワーク接続が不十分な場合、同期は試行しないでください
同期セッションを明示的に接続するよう強制したい場合
ネットワーク接続が不十分な場合、ネットワーク接続を確立しようとすると、ユーザーのデバイスのバックアップが枯渇する可能性があります。
同期セッションを明示的に接続するよう 強制する 場合は、一時的にオフラインであることがほとんどです。 同期クライアントは接続を試み、失敗すると指数バックオフになります。 長時間オフラインになると、クライアントがすぐに再接続されないことがあります。 同期セッションを一時停止および再開すると、接続が明示的に強制されます。
同期セッションを一時停止するときは、次の点に注意してください。
クライアントがクライアントの最大オフライン時間よりも長時間オフラインになると、クライアントは同期を再開できなくなり、クライアント リセットを実行する必要があります。
同期セッションを一時停止すると、両方の方向で一時停止されます。 アプリがデバイスで行った変更はバックエンドと同期されず、バックエンドまたは他のデバイス上のデータに対する変更はデバイスに同期されません。 アップロードのみを一時停止したり、ダウンロードのみを一時停止したりする方法はありません。
クライアントがバックエンドとの同期を永続的に停止する場合は、同期セッションを一時停止しないでください。 同期を永続的に停止するには、同期された Realm の内容を同期されていない Realm にコピーし、クライアントで同期されていない Realm を使用します。
無期限の同期を停止するために、同期を一時停止しないでください。 この機能は、これらのユースケース向けに設計またはテストされていません。 この方法で使用すると、さまざまな問題が発生する可能性があります。