Платформа синхронизации: SqlSyncProvider ItemConflicting vs ApplyChangeFailed

Я пытаюсь разработать приложение для синхронизации, которое синхронизирует изменения между различными базами данных SQL Server.

Я придумал дизайн, основанный на получении события ItemConflicting, сохранении информации, связанной с конфликтом, и разрешении всех конфликтов в автономном режиме.

Однако кажется, что я могу только запустить событие ApplyChangeFailed. Есть ли причина, по которой SqlSyncProvider не использует событие ItemConflicting? Я просто неправильно подключаюсь к событию?

Причина, по которой меня это волнует, заключается в том, что событие ItemConlficting позволяет мне просто зарегистрировать конфликт и продолжить остальную часть синхронизации способом, которого я не могу добиться с помощью события ApplychangeFailed.


person Paul Smith    schedule 22.04.2010    source источник


Ответы (1)


ApplyChangeFailed просто возникает, чтобы указать на конфликт или ошибку, независимо от того, разрешаете ли вы конфликт, разрешая или указывая, какая строка должна выиграть или игнорируя его, вы должны иметь возможность продолжить процесс синхронизации.

не уверен, что вы подразумеваете под сохранением «знаний», вы имеете в виду синхронизацию знаний или вы имеете в виду конфликтующие строки?

параметр события ApplyChangeFailed имеет свойства для доступа к конфликтующим строкам, если это то, что вам нужно. затем вы можете перехватить конфликтующие строки, а затем установить действие ApplyAction для продолжения или RetryNextSync

person JuneT    schedule 04.11.2011