类 RecoverOrDiscardUnsyncedChangesHandler
一种客户端重置策略,尝试自动恢复任何未同步的更改。 如果失败,此处理程序将改用丢弃未同步更改策略。
命名空间: Realms 。同步。 ErrorHandling
程序集:Realm.dll
语法
public sealed class RecoverOrDiscardUnsyncedChangesHandler : ClientResetHandlerBase
备注
当配置为恢复的客户端在服务器上被标记为“不允许执行自动恢复”时,自动恢复将失败。 在这种情况下,此策略将回退到丢弃未同步的策略。 重申一下它的作用:它会丢弃所有未同步的本地更改,并使用远程同步服务器上可用的最新域。有关自动合并规则的更多信息,请参阅客户端重置 - .NET SDK 。 自动恢复机制会创建写事务(write transaction),这意味着发生的所有更改都会通过标准 Realm 的更改通知正确传播。Recover
- 需要(在On
Before 中)通知用户,由于合并或完全丢弃未同步的本地更改,未同步数据的传入潜在数据丢失Reset - 需要(在On
After 或OnRecovery After )通知用户重置过程已完成Discard 中 - 数据敏感应用程序的高级使用案例,其中开发者希望以最适当的方式恢复未同步的数据
- 在客户端重置发生之前(在On
Before 中)备份整个域。例如,此类备份可用于恢复未同步的数据(请参阅 3。)Reset
属性
| 编辑本页 查看源代码ManualResetFallback
获取或设置发生导致操作无法完成的错误时触发的回调,例如发生破坏性模式更改时。
声明
public ClientResetHandlerBase.ClientResetCallback? ManualResetFallback { get; set; }
属性值
类型 | 说明 |
---|---|
Client |
如果自动客户端重置处理失败,则调用回调。 |
OnAfterDiscard
获取或设置回调,该回调指示刚刚发生的客户端重置的丢弃未同步更改回退。
声明
public ClientResetHandlerBase.AfterResetCallback? OnAfterDiscard { get; set; }
属性值
类型 | 说明 |
---|---|
Client |
在客户端重置后立即调用的回调,该重置会回退以丢弃未同步的更改。 |
备注
当尝试使用自动恢复进行客户端重置,但服务器不允许客户端使用此类策略时,则会使用回退丢弃未同步更改策略重试客户端重置。 如果第二次尝试成功,则会调用On
OnAfterRecovery
获取或设置回调,该回调指示刚刚发生了自动客户端重置。
声明
public ClientResetHandlerBase.AfterResetCallback? OnAfterRecovery { get; set; }
属性值
类型 | 说明 |
---|---|
Client |
客户端重置后立即调用的回调。 |
OnBeforeReset
获取或设置指示即将发生客户端重置的回调。
声明
public ClientResetHandlerBase.BeforeResetCallback? OnBeforeReset { get; set; }
属性值
类型 | 说明 |
---|---|
Client |
在客户端重置之前调用的回调。 |