Метод NotifyingChangeApplier.ApplyChanges (ConflictResolutionPolicy, CollisionConflictResolutionPolicy, ChangeBatch, IChangeDataRetriever, SyncKnowledge, ForgottenKnowledge, INotifyingChangeApplierTarget, IConflictLogAccess, SyncSessionContext, SyncCallbacks)
Выполняет обнаружение конфликтов, обработку конфликтов параллелизма и конфликтов ограничений, а также применение изменений и управление журналом конфликтов для пакета изменений.
Пространство имен: Microsoft.Synchronization
Сборка: Microsoft.Synchronization (в microsoft.synchronization.dll)
Синтаксис
'Декларация
Public Sub ApplyChanges ( _
resolutionPolicy As ConflictResolutionPolicy, _
collisionConflictResolutionPolicy As CollisionConflictResolutionPolicy, _
sourceChanges As ChangeBatch, _
changeDataRetriever As IChangeDataRetriever, _
destinationKnowledge As SyncKnowledge, _
destinationForgottenKnowledge As ForgottenKnowledge, _
changeApplierTarget As INotifyingChangeApplierTarget, _
conflictLogAccess As IConflictLogAccess, _
syncSessionState As SyncSessionContext, _
syncCallback As SyncCallbacks _
)
'Применение
Dim instance As NotifyingChangeApplier
Dim resolutionPolicy As ConflictResolutionPolicy
Dim collisionConflictResolutionPolicy As CollisionConflictResolutionPolicy
Dim sourceChanges As ChangeBatch
Dim changeDataRetriever As IChangeDataRetriever
Dim destinationKnowledge As SyncKnowledge
Dim destinationForgottenKnowledge As ForgottenKnowledge
Dim changeApplierTarget As INotifyingChangeApplierTarget
Dim conflictLogAccess As IConflictLogAccess
Dim syncSessionState As SyncSessionContext
Dim syncCallback As SyncCallbacks
instance.ApplyChanges(resolutionPolicy, collisionConflictResolutionPolicy, sourceChanges, changeDataRetriever, destinationKnowledge, destinationForgottenKnowledge, changeApplierTarget, conflictLogAccess, syncSessionState, syncCallback)
public void ApplyChanges (
ConflictResolutionPolicy resolutionPolicy,
CollisionConflictResolutionPolicy collisionConflictResolutionPolicy,
ChangeBatch sourceChanges,
IChangeDataRetriever changeDataRetriever,
SyncKnowledge destinationKnowledge,
ForgottenKnowledge destinationForgottenKnowledge,
INotifyingChangeApplierTarget changeApplierTarget,
IConflictLogAccess conflictLogAccess,
SyncSessionContext syncSessionState,
SyncCallbacks syncCallback
)
public:
void ApplyChanges (
ConflictResolutionPolicy resolutionPolicy,
CollisionConflictResolutionPolicy collisionConflictResolutionPolicy,
ChangeBatch^ sourceChanges,
IChangeDataRetriever^ changeDataRetriever,
SyncKnowledge^ destinationKnowledge,
ForgottenKnowledge^ destinationForgottenKnowledge,
INotifyingChangeApplierTarget^ changeApplierTarget,
IConflictLogAccess^ conflictLogAccess,
SyncSessionContext^ syncSessionState,
SyncCallbacks^ syncCallback
)
public void ApplyChanges (
ConflictResolutionPolicy resolutionPolicy,
CollisionConflictResolutionPolicy collisionConflictResolutionPolicy,
ChangeBatch sourceChanges,
IChangeDataRetriever changeDataRetriever,
SyncKnowledge destinationKnowledge,
ForgottenKnowledge destinationForgottenKnowledge,
INotifyingChangeApplierTarget changeApplierTarget,
IConflictLogAccess conflictLogAccess,
SyncSessionContext syncSessionState,
SyncCallbacks syncCallback
)
public function ApplyChanges (
resolutionPolicy : ConflictResolutionPolicy,
collisionConflictResolutionPolicy : CollisionConflictResolutionPolicy,
sourceChanges : ChangeBatch,
changeDataRetriever : IChangeDataRetriever,
destinationKnowledge : SyncKnowledge,
destinationForgottenKnowledge : ForgottenKnowledge,
changeApplierTarget : INotifyingChangeApplierTarget,
conflictLogAccess : IConflictLogAccess,
syncSessionState : SyncSessionContext,
syncCallback : SyncCallbacks
)
Параметры
- resolutionPolicy
Политика, применяемая для разрешения конфликтов.
- collisionConflictResolutionPolicy
Политика, применяемая для разрешения конфликтов ограничений.
- sourceChanges
Пакет изменений от поставщика источника.
- changeDataRetriever
Объект, который можно использовать для получения данных, связанных с элементами, из реплики источника.
- destinationKnowledge
Набор знаний реплики назначения.
- destinationForgottenKnowledge
Утраченный набор знаний реплики назначения.
- changeApplierTarget
Объект, который будет вызываться для сохранения изменений и конфликтов.
- conflictLogAccess
Журнал конфликтов, где хранятся отложенные конфликты и временные конфликты.
- syncSessionState
Сведения о состоянии для текущего сеанса.
- syncCallback
Обратные вызовы, которые будут получать уведомления о событиях применения изменений.
Замечания
Этот метод обнаруживает конфликты параллелизма, возникающие между изменениями, отправленными в sourceChanges, и соответствующими элементами в реплике назначения. Он разрешает все конфликты параллелизма в соответствии с политикой, определяемой параметром resolutionPolicy. Когда поставщик назначения сообщает о конфликтах ограничений, этот метод разрешает их в соответствии с политикой, заданной параметром collisionConflictResolutionPolicy. Если политика устранения конфликтов не задана, этот метод уведомляет приложение о конфликте, а действие по устранению конфликта определяется приложением. В случае необходимости этот метод вызывает методы для changeApplierTarget, чтобы сохранить изменения в реплике назначения и сохранить неразрешенные конфликты.
Чтобы получить версию назначения, этот метод вызывает TryGetDestinationVersion в changeApplierTarget для каждого элемента из sourceChanges.
Объект применения изменений участвует в управлении журналом конфликтов, указанным в параметре conflictLogAccess, выполняя разрешение конфликтов в журнале и удаление устаревших конфликтов из журнала. Объект применения изменений также может сохранять в журнале конфликтов временные конфликты, которые возникают в результате слияния конфликтов ограничений. Все временные конфликты, добавленные в журнал, будут удалены перед завершением сеанса синхронизации.
См. также
Справочник
Класс NotifyingChangeApplier
Элементы NotifyingChangeApplier
Пространство имен Microsoft.Synchronization