Énumération ConflictType
Définit les types de conflits qui peuvent se produire 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 ConflictType
'Utilisation
Dim instance As ConflictType
public enum ConflictType
public enum class ConflictType
public enum ConflictType
public enum ConflictType
Membres
Nom de membre | Description | |
---|---|---|
ClientDeleteServerUpdate | Le client a supprimé une ligne que le serveur a mise à jour. | |
ClientInsertServerInsert | Le client et le serveur ont tous les deux inséré une ligne qui possède la même valeur de clé primaire. Cela a généré une violation de clé primaire. | |
ClientUpdateServerDelete | Le serveur a supprimé une ligne que le client a mise à jour. | |
ClientUpdateServerUpdate | Le client et le serveur ont mis à jour la même ligne. | |
ErrorsOccurred | Le magasin client ou serveur (habituellement une base de données) a levé une exception lors de l'application d'une modification. | |
Unknown | Le fournisseur de synchronisation client peut classifier tous les conflits qu'il rencontre, à la différence du fournisseur de synchronisation serveur. Par conséquent, certains conflits sont classés en tant que Unknown. |
Notes
Un conflit se produit lorsque la même ligne est insérée, mise à jour ou supprimée à plusieurs emplacements entre les synchronisations. Les conflits sont toujours définis comme s'étant produits entre le serveur et le client en cours de synchronisation. Cependant, cela ne veut pas dire que la modification conflictuelle sur le serveur provient nécessairement du serveur. Pour plus d'informations, consultez Procédure : gérer les conflits de données et les erreurs.
Exemple
L'exemple de code suivant spécifie une valeur de RetryWithForceWrite
pour les conflits de mise à jour du client/suppression du serveur. Pour afficher ce code dans le contexte d'un exemple complet, consultez Procédure : gérer les conflits de données et les erreurs.
if (e.Conflict.ConflictType == ConflictType.ClientUpdateServerDelete)
{
//For client-update/server-delete conflicts, we force the client
//change to be applied at the server. The stored procedure specified for
//customerSyncAdapter.UpdateCommand accepts the @sync_force_write parameter
//and includes logic to handle this case.
Console.WriteLine(String.Empty);
Console.WriteLine("***********************************");
Console.WriteLine("A client update / server delete conflict was detected.");
e.Action = ApplyAction.RetryWithForceWrite;
Console.WriteLine("The client change was retried at the server with RetryWithForceWrite.");
Console.WriteLine("***********************************");
Console.WriteLine(String.Empty);
}
If e.Conflict.ConflictType = ConflictType.ClientUpdateServerDelete Then
'For client-update/server-delete conflicts, we force the client
'change to be applied at the server. The stored procedure specified for
'customerSyncAdapter.UpdateCommand accepts the @sync_force_write parameter
'and includes logic to handle this case.
Console.WriteLine(String.Empty)
Console.WriteLine("***********************************")
Console.WriteLine("A client update / server delete conflict was detected.")
e.Action = ApplyAction.RetryWithForceWrite
Console.WriteLine("The client change was retried at the server with RetryWithForceWrite.")
Console.WriteLine("***********************************")
Console.WriteLine(String.Empty)
End If