ConflictResolver Propiedad
Obtiene un objeto SyncConflictResolver para el proveedor de sincronización del cliente, que determina la acción que se va a llevar a cabo cuando se produce un conflicto.
Espacio de nombres: Microsoft.Synchronization.Data.SqlServerCe
Ensamblado: Microsoft.Synchronization.Data.SqlServerCe (en Microsoft.Synchronization.Data.SqlServerCe.dll)
Sintaxis
'Declaración
Public ReadOnly Property ConflictResolver As SyncConflictResolver
Get
'Uso
Dim instance As SqlCeClientSyncProvider
Dim value As SyncConflictResolver
value = instance.ConflictResolver
public SyncConflictResolver ConflictResolver { get; }
public:
property SyncConflictResolver^ ConflictResolver {
SyncConflictResolver^ get ();
}
member ConflictResolver : SyncConflictResolver
function get ConflictResolver () : SyncConflictResolver
Valor de la propiedad
Tipo: Microsoft.Synchronization.Data. . :: . .SyncConflictResolver
Objeto SyncConflictResolver que determina la acción que se va a llevar a cabo cuando se produce un conflicto.
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:
ClientWins: equivalente a establecer ApplyAction en Continue.
ServerWins: equivalente a establecer ApplyAction en RetryWithForceWrite.
FireEvent: desencadena el evento ApplyChangeFailed, el valor predeterminado, y después lo controla.
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 Cómo controlar conflictos de datos y errores.
Ejemplos
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 Cómo 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
Vea también
Referencia
SqlCeClientSyncProvider Miembros
Microsoft.Synchronization.Data.SqlServerCe Espacio de nombres