Compartilhar 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
[<SerializableAttribute>]
type SyncConflictResolver =  class end
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.

Exemplos

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

Quaisquer membros static (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Consulte também

Referência

Membros SyncConflictResolver

Namespace Microsoft.Synchronization.Data