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


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

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

Синтаксис

typedef enum 
{
  CRP_NONE,
  CRP_DESTINATION_PROVIDER_WINS,
  CRP_SOURCE_PROVIDER_WINS,
  CRP_LAST,
} CONFLICT_RESOLUTION_POLICY;

Элементы

  • CRP_NONE
    Объект применения изменений извещает приложение синхронизации о каждом возникающем конфликте с помощью метода ISyncCallback::OnConflict. Приложение проверяет конфликтующие элементы и задает действие для устранения конфликтов, вызовом метода IChangeConflict::SetResolveActionForChange или IChangeConflict::SetResolveActionForChangeUnit.

  • CRP_DESTINATION_PROVIDER_WINS
    Изменение, сделанное в реплике назначения, всегда выигрывает. Это действие поддерживает случай, когда реплика назначения не обрабатывает изменения, выполненные удаленными клиентами. Sync Framework задает действие для устранения конфликтов SRA_ACCEPT_DESTINATION_PROVIDER.

  • CRP_SOURCE_PROVIDER_WINS
    Изменение, сделанное в реплике источника, всегда побеждает. При этом поддерживается решение по синхронизации, допускающее только чтение, в котором нельзя доверять реплике назначения. Платформа Sync Framework задает действие для устранения конфликтов SRA_ACCEPT_SOURCE_PROVIDER.

  • CRP_LAST
    Заполнитель последнего элемента перечисления. Не пользуйтесь этим значением.

Замечания

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

Требования

Заголовок: Synchronization.h

См. также

Другие ресурсы

Базовые компоненты Sync Framework

ISyncSession::Start

ISynchronousNotifyingChangeApplier::ApplyChanges

IAsynchronousNotifyingChangeApplier::ApplyChanges