Énumération ResolveAction
Spécifie les options de résolution des conflits qui se produisent au niveau du client au cours de la synchronisation.
Espace de noms : Microsoft.Synchronization.Data
Assembly : Microsoft.Synchronization.Data (dans Microsoft.Synchronization.Data.dll)
Syntaxe
'Déclaration
Public Enumeration ResolveAction
'Utilisation
Dim instance As ResolveAction
public enum ResolveAction
public enum class ResolveAction
type ResolveAction
public enum ResolveAction
Membres
Nom de membre | Description | |
---|---|---|
FireEvent | Déclenchez l'événement ApplyChangeFailed du client ou l'événement ApplyChangeFailed du serveur. | |
ClientWins | Remplacez la ligne sur le serveur par la ligne du client. | |
ServerWins | Remplacez la ligne sur le client par la ligne du serveur. |
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 :
ClientWins : équivaut à définir un objet ApplyAction de Continue.
ServerWins : équivaut à définir un objet ApplyAction de RetryWithForceWrite.
FireEvent : déclencher l'événement ApplyChangeFailed, la valeur par défaut, puis gérer l'événement.
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.
Exemples
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