Condividi tramite


Classe SyncConflictResolver

Rappresenta le azioni da intraprendere quando si verificano conflitti durante la sincronizzazione.

Spazio dei nomi: Microsoft.Synchronization.Data
Assembly: Microsoft.Synchronization.Data (in microsoft.synchronization.data.dll)

Sintassi

'Dichiarazione
<SerializableAttribute> _
Public Class SyncConflictResolver
'Utilizzo
Dim instance As SyncConflictResolver
[SerializableAttribute] 
public class SyncConflictResolver
[SerializableAttribute] 
public ref class SyncConflictResolver
/** @attribute SerializableAttribute() */ 
public class SyncConflictResolver
SerializableAttribute 
public class SyncConflictResolver

Osservazioni

SqlCeClientSyncProvider include una proprietà ConflictResolver utilizzabile per risolvere i conflitti sul client. Per ogni tipo di conflitto, è possibile impostare un valore dall'enumerazione ResolveAction:

Non è obbligatorio impostare ConflictResolver per ogni tipo di conflitto. È possibile risolvere i conflitti in modo analogo a quanto avviene nel server, ovvero gestendo l'evento ApplyChangeFailed. La proprietà ConflictResolver rappresenta una soluzione più semplice per specificare le opzioni di risoluzione dei conflitti nel client. Per ulteriori informazioni, vedere Procedura: gestire conflitti di dati ed errori.

Esempio

Nell'esempio di codice seguente viene impostata l'azione di risoluzione per ogni tipo di conflitto rilevato dal provider di sincronizzazione client. Per visualizzare questo codice nel contesto di un esempio completo, vedere Procedura: gestire conflitti di dati ed errori.

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

Gerarchia di ereditarietà

System.Object
  Microsoft.Synchronization.Data.SyncConflictResolver

Thread Safety

Tutti i membri statici pubblici (Shared in Visual Basic) di questo tipo sono thread safe. I membri di istanza non hanno garanzia di essere thread safe.

Vedere anche

Riferimento

Membri SyncConflictResolver
Spazio dei nomi Microsoft.Synchronization.Data