Класс SyncConflictResolver

Представляет действия, которые должны быть выполнены при возникновении конфликтов во время синхронизации.

Пространство имен: Microsoft.Synchronization.Data
Сборка: Microsoft.Synchronization.Data (в microsoft.synchronization.data.dll)

Синтаксис

'Декларация
<SerializableAttribute> _
Public Class SyncConflictResolver
'Применение
Dim instance As SyncConflictResolver
[SerializableAttribute] 
public class SyncConflictResolver
[SerializableAttribute] 
public ref class SyncConflictResolver
/** @attribute SerializableAttribute() */ 
public class SyncConflictResolver
SerializableAttribute 
public class SyncConflictResolver

Замечания

Объект SqlCeClientSyncProvider содержит свойство ConflictResolver, которое позволяет производить разрешение конфликтов на клиенте. Для каждого типа конфликта, можно задать значение из ResolveAction перечисления:

Свойство ConflictResolver не обязательно задавать для каждого из типов конфликтов. Конфликты можно разрешать таким же образом, как на сервере, — обрабатывая событие ApplyChangeFailed. Однако свойство ConflictResolver обеспечивает простой способ установки параметров для устранения конфликтов на клиенте. Дополнительные сведения см. в разделе Как обрабатывать конфликты и ошибки в данных.

Пример

В следующем примере кода задается действие по разрешению каждого из типов конфликтов, которые могут возникнуть в службе синхронизации на клиенте. Чтобы просмотреть этот код в контексте полного примера, см. раздел Как обрабатывать конфликты и ошибки в данных.

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

Иерархия наследования

System.Object
  Microsoft.Synchronization.Data.SyncConflictResolver

Многопоточное использование

Все общие статические члены (Shared в Visual Basic) можно использовать в многопоточных операциях. Безопасная многопоточная работа с членами экземпляров типа не гарантируется.

См. также

Справочник

Элементы SyncConflictResolver
Пространство имен Microsoft.Synchronization.Data