Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Specifica le opzioni per la risoluzione degli eventuali conflitti che si verificano nel client durante la sincronizzazione.
Spazio dei nomi: Microsoft.Synchronization.Data
Assembly: Microsoft.Synchronization.Data (in microsoft.synchronization.data.dll)
Sintassi
'Dichiarazione
Public Enumeration ResolveAction
'Utilizzo
Dim instance As ResolveAction
public enum ResolveAction
public enum class ResolveAction
public enum ResolveAction
public enum ResolveAction
Membri
| Nome membro | Descrizione | |
|---|---|---|
| ClientWins | Sovrascrive la riga del server con quella del client. | |
| FireEvent | Genera l'evento ApplyChangeFailed del client o l'evento ApplyChangeFailed del server. | |
| ServerWins | Sovrascrive la riga del client con quella del server. |
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:
ClientWins: equivalente all'impostazione ApplyAction di Continue.
ServerWins: equivalente all'impostazione ApplyAction di RetryWithForceWrite.
FireEvent: attivare l'evento ApplyChangeFailed, l'impostazione predefinita e quindi gestire l'evento.
Non è obbligatorio impostare ConflictResolver per ogni tipo di conflitto. È possibile risolvere i conflitti così come avviene nel server, ovvero gestendo l'evento ApplyChangeFailed. Tuttavia, la proprietà ConflictResolver fornisce un modo semplice per specificare le opzioni di risoluzione dei conflitti sul 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