Class RecuperarOrDiscardUnsyncedChangesHandler
Uma estratégia de reinício do cliente que tenta recuperar automaticamente quaisquer alterações não sincronizadas. Se isso falhar, esse manipulador voltará para a estratégia de descartar alterações não sincronizadas.
namespace: Realms.Sincronizar.Tratamento de erros
Conjunto: Realm.exe
Sintaxe
public sealed class RecoverOrDiscardUnsyncedChangesHandler : ClientResetHandlerBase
Observações
A recuperação automática falha quando um cliente configurado para recuperação é sinalizado no servidor "como não permitido executar a recuperação automática". Nessa situação, essa estratégia volta ao descarte não sincronizado. Para repetir o que faz: ele descarta todas as alterações locais não sincronizadas e usa o Realm mais recente disponível no servidor de sincronização remota. Você pode ler mais sobre as regras de mesclagem automática em reinício do cliente - .NET SDK. O mecanismo de recuperação automática cria transação de escrita, o que significa que todas as alterações realizadas são propagadas corretamente por meio das notificações de alteração padrão do Realm. A estratégia RecuperOrDiscardUnsyncedChangesHandler fornece quatro chamada de resposta: OnBeforeReset, OnAfterRecuperação, OnAfterDiscard e ManualResetFallback. OnBeforeReset, é invocado pouco antes do reinício do cliente acontecer. OnAfterRecuperação, é invocado se e somente se um reinício do cliente automático for bem-sucedido. A chamada de resposta nunca será chamada se o reinício do cliente automático falhar. OnAfterDiscard é invocado se e somente se um reinício do cliente automático falhar e, em vez disso, o descarte não sincronizado for bem-sucedido. A chamada de resposta nunca será chamada se o reinício do cliente não sincronizado de descarte falhar. O ManualResetFallback é invocado sempre que ocorre um erro em qualquer uma das estratégias de recuperação e o sistema precisa voltar para um modo manual. A recomendações gerais para usar essa estratégia é que o uso das três chamadas de resposta disponíveis só deve ser considerado quando:
- O usuário precisa ser notificado (em OnBeforeReset) sobre uma possível perda de dados de dados não sincronizados como resultado de uma mesclagem ou de um descarte completo de alterações locais não sincronizadas
- O usuário precisa ser notificado (em OnAfterRecuperação ou OnAfterDiscard) de que o processo de redefinição foi concluído
- Casos de uso avançados para aplicativos sensíveis a dados em que o desenvolvedor deseja recuperar da maneira mais apropriada os dados não sincronizados
- Faça backup de todo o Realm antes que o reinício do cliente aconteça (em OnBeforeReset). Esse backup pode, por exemplo, ser usado para restaurar os dados não sincronizados (consulte 3.)
Propriedades
| Editar esta página Ver fonteManualResetFallback
Obtém ou define a chamada de resposta acionada quando ocorre um erro que torna a operação incapaz de ser concluída, por exemplo, no caso de uma alteração destrutiva de esquema.
Declaração
public ClientResetHandlerBase.ClientResetCallback? ManualResetFallback { get; set; }
Valor da propriedade
Tipo | Descrição |
---|---|
ClientResetHandlerBase.ClientResetCallback | A chamada de resposta é invocada se o tratamento automático do reinício do cliente falhar. |
OnAfterDiscard
Obtém ou define o retorno de chamada que indica que o descarte de alterações não sincronizadas do fallback de uma redefinição de cliente acabou de acontecer.
Declaração
public ClientResetHandlerBase.AfterResetCallback? OnAfterDiscard { get; set; }
Valor da propriedade
Tipo | Descrição |
---|---|
ClientResetHandlerBase.IfResetCallback | O retorno de chamada foi invocado logo após uma redefinição de cliente que retornou para descartar alterações não sincronizadas. |
Observações
Quando uma redefinição de cliente com recuperação automática é tentada, mas o cliente não tem permissão para usar essa estratégia pelo servidor, uma redefinição de cliente é tentada novamente com a estratégia de alterações não sincronizadas de descarte de contingência. Se essa segunda tentativa for bem-sucedida, a chamada de resposta OnAfterDiscard será chamada.
OnAfterRecuperação
Obtém ou define o retorno de chamada que indica que acabou de acontecer um reinício do cliente automático.
Declaração
public ClientResetHandlerBase.AfterResetCallback? OnAfterRecovery { get; set; }
Valor da propriedade
Tipo | Descrição |
---|---|
ClientResetHandlerBase.IfResetCallback | A chamada de resposta é invocada logo após um reinício do cliente. |
OnBeforeReset
Obtém ou define a chamada de resposta que indica que um reinício do cliente está prestes a acontecer.
Declaração
public ClientResetHandlerBase.BeforeResetCallback? OnBeforeReset { get; set; }
Valor da propriedade
Tipo | Descrição |
---|---|
ClientResetHandlerBase.Antes de reiniciar chamada de resposta | A chamada de resposta é invocada logo antes de um reinício do cliente. |