Compartir a través de


SyncConflictResolver Clase

Representa las acciones que se van a llevar a cabo cuando se produce algún conflicto durante la sincronización.

Espacio de nombres: Microsoft.Synchronization.Data
Ensamblado: Microsoft.Synchronization.Data (en microsoft.synchronization.data.dll)

Sintaxis

'Declaración
<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

Notas

El SqlCeClientSyncProvider también incluye una propiedad ConflictResolver que facilita la resolución de conflictos en el cliente. Para cada tipo de conflicto, puede establecer un valor de la enumeración ResolveAction:

No es necesario establecer ConflictResolver para cada tipo de conflicto. Puede resolver los conflictos como lo haría en el servidor, mediante el control del evento ApplyChangeFailed. No obstante, la propiedad ConflictResolver ofrece un método sencillo para especificar opciones de resolución de conflictos en el cliente. Para obtener más información, vea Controlar conflictos de datos y errores.

Ejemplo

El ejemplo de código siguiente establece la acción de resolución para cada tipo de conflicto que encuentre el proveedor de sincronización del cliente. Para consultar este código en el contexto de un ejemplo completo, vea Controlar conflictos de datos y errores.

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

Jerarquía de herencia

System.Object
  Microsoft.Synchronization.Data.SyncConflictResolver

Seguridad para subprocesos

Todos los miembros (Compartidos en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Vea también

Referencia

SyncConflictResolver Miembros
Microsoft.Synchronization.Data Espacio de nombres