Partilhar via


Classe SyncConflictResolver

Representa as ações a serem executadas quando ocorrem conflitos durante a sincronização.

Namespace: Microsoft.Synchronization.Data
Assembly: Microsoft.Synchronization.Data (em microsoft.synchronization.data.dll)

Sintaxe

'Declaração
<SerializableAttribute> _
Public Class SyncConflictResolver
'Uso
Dim instance As SyncConflictResolver
[SerializableAttribute] 
public class SyncConflictResolver
[SerializableAttribute] 
public ref class SyncConflictResolver
/** @attribute SerializableAttribute() */ 
public class SyncConflictResolver
SerializableAttribute 
public class SyncConflictResolver

Comentários

SqlCeClientSyncProvider inclui uma propriedade ConflictResolver que pode ser usada para resolver conflitos no cliente. Para cada tipo de conflito, você pode definir um valor a partir da enumeração ResolveAction:

Não há nenhum requisito para definir ConflictResolver para cada tipo de conflito. Você pode resolver conflitos enquanto estiver no servidor tratando o evento ApplyChangeFailed. No entanto, a propriedade ConflictResolver fornece uma maneira fácil de especificar as opções de resolução de conflitos no cliente. Para obter mais informações, consulte Como tratar conflitos de dados e erros.

Exemplo

O exemplo de código a seguir define a ação de resolução para cada tipo de conflito que o provedor de sincronização do cliente pode encontrar. Para exibir esse código no contexto de um exemplo completo, consulte Como tratar conflitos de dados e erros.

this.ConflictResolver.ClientDeleteServerUpdateAction = ResolveAction.ServerWins;            
this.ConflictResolver.ClientUpdateServerDeleteAction = ResolveAction.ClientWins;
//If any of the following conflicts or errors occur, the ApplyChangeFailed
//event is raised.
this.ConflictResolver.ClientInsertServerInsertAction = ResolveAction.FireEvent;
this.ConflictResolver.ClientUpdateServerUpdateAction = ResolveAction.FireEvent;
this.ConflictResolver.StoreErrorAction = ResolveAction.FireEvent;

//Log information for the ApplyChangeFailed event and handle any
//ResolveAction.FireEvent cases.
this.ApplyChangeFailed +=new EventHandler<ApplyChangeFailedEventArgs>(SampleClientSyncProvider_ApplyChangeFailed);
Me.ConflictResolver.ClientDeleteServerUpdateAction = ResolveAction.ServerWins
Me.ConflictResolver.ClientUpdateServerDeleteAction = ResolveAction.ClientWins
'If any of the following conflicts or errors occur, the ApplyChangeFailed
'event is raised.
Me.ConflictResolver.ClientInsertServerInsertAction = ResolveAction.FireEvent
Me.ConflictResolver.ClientUpdateServerUpdateAction = ResolveAction.FireEvent
Me.ConflictResolver.StoreErrorAction = ResolveAction.FireEvent

'Log information for the ApplyChangeFailed event and handle any
'ResolveAction.FireEvent cases.
AddHandler Me.ApplyChangeFailed, AddressOf SampleClientSyncProvider_ApplyChangeFailed

Hierarquia de herança

System.Object
  Microsoft.Synchronization.Data.SyncConflictResolver

Segurança de thread

Qualquer membro estático público (Compartilhado no Visual Basic) deste tipo é protegido por thread. Não há garantia de que qualquer membro de instância esteja protegido por thread.

Consulte também

Referência

Membros SyncConflictResolver
Namespace Microsoft.Synchronization.Data