Partager via


Classe SyncConflictResolver

Représente les actions à effectuer lorsque des conflits se produisent au cours de la synchronisation.

Espace de noms: Microsoft.Synchronization.Data
Assembly: Microsoft.Synchronization.Data (dans microsoft.synchronization.data.dll)

Syntaxe

'Déclaration
<SerializableAttribute> _
Public Class SyncConflictResolver
'Utilisation
Dim instance As SyncConflictResolver
[SerializableAttribute] 
public class SyncConflictResolver
[SerializableAttribute] 
public ref class SyncConflictResolver
/** @attribute SerializableAttribute() */ 
public class SyncConflictResolver
SerializableAttribute 
public class SyncConflictResolver

Notes

L'objet SqlCeClientSyncProvider inclut une propriété ConflictResolver que vous pouvez utiliser pour résoudre les conflits sur le client. Pour chaque type de conflit, vous pouvez définir une valeur à partir de l'énumération ResolveAction :

Il n'est pas obligatoire de définir la propriété ConflictResolver pour chaque type de conflit. Vous pouvez résoudre les conflits comme vous le faites sur le serveur en gérant l'événement ApplyChangeFailed. Toutefois, la propriété ConflictResolver permet de spécifier facilement les options de résolution de conflit sur le client. Pour plus d'informations, consultez Procédure : gérer les conflits de données et les erreurs.

Exemple

L'exemple de code suivant définit l'action de résolution pour chaque type de conflit que le fournisseur de synchronisation client peut rencontrer. Pour afficher ce code dans le contexte d'un exemple complet, consultez Procédure : gérer les conflits de données et les erreurs.

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

Hiérarchie d'héritage

System.Object
  Microsoft.Synchronization.Data.SyncConflictResolver

Sécurité des threads

Tous les membres publics statiques (Partagés en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Membres SyncConflictResolver
Espace de noms Microsoft.Synchronization.Data