Свойство SqlCeClientSyncProvider.ConflictResolver
Возвращает для службы синхронизации клиента объект SyncConflictResolver, который определяет, какое действие должно быть выполнено при возникновении конфликта.
Пространство имен: Microsoft.Synchronization.Data.SqlServerCe
Сборка: Microsoft.Synchronization.Data.SqlServerCe (в microsoft.synchronization.data.sqlserverce.dll)
Синтаксис
'Декларация
Public ReadOnly Property ConflictResolver As SyncConflictResolver
'Применение
Dim instance As SqlCeClientSyncProvider
Dim value As SyncConflictResolver
value = instance.ConflictResolver
public SyncConflictResolver ConflictResolver { get; }
public:
property SyncConflictResolver^ ConflictResolver {
SyncConflictResolver^ get ();
}
/** @property */
public SyncConflictResolver get_ConflictResolver ()
public function get ConflictResolver () : SyncConflictResolver
Значение свойства
Объект SyncConflictResolver, который определяет, какое действие должно быть выполнено при возникновении конфликта.
Замечания
Объект SqlCeClientSyncProvider содержит свойство ConflictResolver, которое позволяет производить разрешение конфликтов на клиенте. Для каждого типа конфликта, можно задать значение из ResolveAction перечисления:
ClientWins: эквивалентно установке ApplyAction из Continue.
ServerWins: эквивалентно установке ApplyAction из RetryWithForceWrite.
FireEvent: вызвать событие ApplyChangeFailed, событие по умолчанию, а затем обработать это событие.
Свойство 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
См. также
Справочник
Класс SqlCeClientSyncProvider
Элементы SqlCeClientSyncProvider
Пространство имен Microsoft.Synchronization.Data.SqlServerCe