Поделиться через


Перечисление ResolveAction

Указывает параметры для разрешения конфликтов возникших на кленте в процессе синхронизации.

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

Синтаксис

'Декларация
Public Enumeration ResolveAction
'Применение
Dim instance As ResolveAction
public enum ResolveAction
public enum class ResolveAction
public enum ResolveAction
public enum ResolveAction

Элементы

  Имя члена Описание
ClientWins Перезаписать строку на сервере строкой, полученной от клиента. 
FireEvent Вызвать событие ApplyChangeFailed на клиенте или событие ApplyChangeFailed на сервере. 
ServerWins Перезаписать строку на клиенте строкой, полученной от сервера. 

Замечания

Объект 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

См. также

Справочник

Пространство имен Microsoft.Synchronization.Data