Метод ApplyFullEnumerationChanges (ConflictResolutionPolicy, CollisionConflictResolutionPolicy, FullEnumerationChangeBatch, IChangeDataRetriever, IEnumerable(ItemChange), SyncKnowledge, ForgottenKnowledge, INotifyingChangeApplierTarget, IConflictLogAccess, SyncSessionContext, SyncCallbacks)
Выполняет обнаружение конфликтов, обработку конфликтов параллелизма и конфликтов ограничений, а также применение изменений и управление журналом конфликтов для пакета изменений в ходе синхронизации восстановления.
Пространство имен: Microsoft.Synchronization
Сборка: Microsoft.Synchronization (в Microsoft.Synchronization.dll)
Синтаксис
'Декларация
Public Sub ApplyFullEnumerationChanges ( _
resolutionPolicy As ConflictResolutionPolicy, _
collisionConflictResolutionPolicy As CollisionConflictResolutionPolicy, _
sourceChanges As FullEnumerationChangeBatch, _
changeDataRetriever As IChangeDataRetriever, _
destinationVersions As IEnumerable(Of ItemChange), _
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 FullEnumerationChangeBatch
Dim changeDataRetriever As IChangeDataRetriever
Dim destinationVersions As IEnumerable(Of ItemChange)
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.ApplyFullEnumerationChanges(resolutionPolicy, _
collisionConflictResolutionPolicy, _
sourceChanges, changeDataRetriever, _
destinationVersions, destinationKnowledge, _
destinationForgottenKnowledge, _
changeApplierTarget, conflictLogAccess, _
syncSessionState, syncCallback)
public void ApplyFullEnumerationChanges(
ConflictResolutionPolicy resolutionPolicy,
CollisionConflictResolutionPolicy collisionConflictResolutionPolicy,
FullEnumerationChangeBatch sourceChanges,
IChangeDataRetriever changeDataRetriever,
IEnumerable<ItemChange> destinationVersions,
SyncKnowledge destinationKnowledge,
ForgottenKnowledge destinationForgottenKnowledge,
INotifyingChangeApplierTarget changeApplierTarget,
IConflictLogAccess conflictLogAccess,
SyncSessionContext syncSessionState,
SyncCallbacks syncCallback
)
public:
void ApplyFullEnumerationChanges(
ConflictResolutionPolicy resolutionPolicy,
CollisionConflictResolutionPolicy collisionConflictResolutionPolicy,
FullEnumerationChangeBatch^ sourceChanges,
IChangeDataRetriever^ changeDataRetriever,
IEnumerable<ItemChange^>^ destinationVersions,
SyncKnowledge^ destinationKnowledge,
ForgottenKnowledge^ destinationForgottenKnowledge,
INotifyingChangeApplierTarget^ changeApplierTarget,
IConflictLogAccess^ conflictLogAccess,
SyncSessionContext^ syncSessionState,
SyncCallbacks^ syncCallback
)
member ApplyFullEnumerationChanges :
resolutionPolicy:ConflictResolutionPolicy *
collisionConflictResolutionPolicy:CollisionConflictResolutionPolicy *
sourceChanges:FullEnumerationChangeBatch *
changeDataRetriever:IChangeDataRetriever *
destinationVersions:IEnumerable<ItemChange> *
destinationKnowledge:SyncKnowledge *
destinationForgottenKnowledge:ForgottenKnowledge *
changeApplierTarget:INotifyingChangeApplierTarget *
conflictLogAccess:IConflictLogAccess *
syncSessionState:SyncSessionContext *
syncCallback:SyncCallbacks -> unit
public function ApplyFullEnumerationChanges(
resolutionPolicy : ConflictResolutionPolicy,
collisionConflictResolutionPolicy : CollisionConflictResolutionPolicy,
sourceChanges : FullEnumerationChangeBatch,
changeDataRetriever : IChangeDataRetriever,
destinationVersions : IEnumerable<ItemChange>,
destinationKnowledge : SyncKnowledge,
destinationForgottenKnowledge : ForgottenKnowledge,
changeApplierTarget : INotifyingChangeApplierTarget,
conflictLogAccess : IConflictLogAccess,
syncSessionState : SyncSessionContext,
syncCallback : SyncCallbacks
)
Параметры
- resolutionPolicy
Тип Microsoft.Synchronization. . :: . .ConflictResolutionPolicy
Политика, применяемая для разрешения конфликтов.
- collisionConflictResolutionPolicy
Тип Microsoft.Synchronization. . :: . .CollisionConflictResolutionPolicy
Политика, применяемая для разрешения конфликтов ограничений.
- sourceChanges
Тип Microsoft.Synchronization. . :: . .FullEnumerationChangeBatch
Пакет изменений от поставщика источника.
- changeDataRetriever
Тип Microsoft.Synchronization. . :: . .IChangeDataRetriever
Объект, который можно использовать для получения данных, связанных с элементами, из реплики источника.
- destinationVersions
Тип System.Collections.Generic. . :: . .IEnumerable< (Of < ( <'ItemChange> ) > ) >
Пакет изменений, содержащий версии элементов, которые хранятся в реплике назначения. Эти элементы соответствуют элементам в списке sourceChanges.
- destinationKnowledge
Тип Microsoft.Synchronization. . :: . .SyncKnowledge
Набор знаний реплики назначения.
- destinationForgottenKnowledge
Тип Microsoft.Synchronization. . :: . .ForgottenKnowledge
Утраченный набор знаний реплики назначения.
- changeApplierTarget
Тип Microsoft.Synchronization. . :: . .INotifyingChangeApplierTarget
Объект, который будет вызываться для сохранения изменений и конфликтов.
- conflictLogAccess
Тип Microsoft.Synchronization. . :: . .IConflictLogAccess
Журнал конфликтов, где хранятся отложенные конфликты и временные конфликты.
- syncSessionState
Тип Microsoft.Synchronization. . :: . .SyncSessionContext
Сведения о состоянии для текущего сеанса.
- syncCallback
Тип Microsoft.Synchronization. . :: . .SyncCallbacks
Обратные вызовы, которые будут получать уведомления о событиях применения изменений.
Исключения
Исключение | Условие |
---|---|
ArgumentNullException | Параметр sourceChanges, changeDataRetriever, destinationKnowledge, changeApplierTarget или syncCallback имеет значение null Nothing nullptr unit пустая ссылка (Nothing в Visual Basic) . |
ArgumentOutOfRangeException |
или Параметр collisionResolutionPolicy не является элементом перечисления CollisionConflictResolutionPolicy. |
SyncIdFormatMismatchException |
или
|
Замечания
Этот метод обнаруживает конфликты параллелизма, возникающие между изменениями, отправленными в sourceChanges, и соответствующими элементами в конечной реплике. Он разрешает все конфликты параллелизма в соответствии с политикой, определяемой параметром resolutionPolicy. Когда поставщик назначения сообщает о конфликтах ограничений, этот метод разрешает их в соответствии с политикой, заданной параметром collisionConflictResolutionPolicy. Если политика устранения конфликтов не задана, этот метод уведомляет приложение о конфликте, а действие по устранению конфликта определяется приложением. В случае необходимости этот метод вызывает методы для changeApplierTarget, чтобы сохранить изменения в реплике назначения и сохранить неразрешенные конфликты.
Объект применения изменений участвует в управлении журналом конфликтов, указанным в параметре conflictLogAccess, выполняя разрешение конфликтов в журнале и удаление устаревших конфликтов из журнала. Объект применения изменений также может сохранять в журнале конфликтов временные конфликты, которые возникают в результате слияния конфликтов ограничений. Все временные конфликты, добавленные в журнал, будут удалены перед завершением сеанса синхронизации.
См. также
Справочник
Элементы NotifyingChangeApplier