Compartir a través de


ApplyChanges Método (ConflictResolutionPolicy, CollisionConflictResolutionPolicy, ChangeBatch, IChangeDataRetriever, IEnumerable(ItemChange), SyncKnowledge, ForgottenKnowledge, INotifyingChangeApplierTarget, IConflictLogAccess, SyncSessionContext, SyncCallbacks)

Realiza la detección de conflictos, el control de conflictos de simultaneidad, el control de conflictos de restricción, la aplicación de cambios y la administración del registro de conflictos para un lote de cambios.

Espacio de nombres:  Microsoft.Synchronization
Ensamblado:  Microsoft.Synchronization (en Microsoft.Synchronization.dll)

Sintaxis

'Declaración
Public Sub ApplyChanges ( _
    resolutionPolicy As ConflictResolutionPolicy, _
    collisionConflictResolutionPolicy As CollisionConflictResolutionPolicy, _
    sourceChanges As ChangeBatch, _
    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 _
)
'Uso
Dim instance As NotifyingChangeApplier
Dim resolutionPolicy As ConflictResolutionPolicy
Dim collisionConflictResolutionPolicy As CollisionConflictResolutionPolicy
Dim sourceChanges As ChangeBatch
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.ApplyChanges(resolutionPolicy, _
    collisionConflictResolutionPolicy, _
    sourceChanges, changeDataRetriever, _
    destinationVersions, destinationKnowledge, _
    destinationForgottenKnowledge, _
    changeApplierTarget, conflictLogAccess, _
    syncSessionState, syncCallback)
public void ApplyChanges(
    ConflictResolutionPolicy resolutionPolicy,
    CollisionConflictResolutionPolicy collisionConflictResolutionPolicy,
    ChangeBatch sourceChanges,
    IChangeDataRetriever changeDataRetriever,
    IEnumerable<ItemChange> destinationVersions,
    SyncKnowledge destinationKnowledge,
    ForgottenKnowledge destinationForgottenKnowledge,
    INotifyingChangeApplierTarget changeApplierTarget,
    IConflictLogAccess conflictLogAccess,
    SyncSessionContext syncSessionState,
    SyncCallbacks syncCallback
)
public:
void ApplyChanges(
    ConflictResolutionPolicy resolutionPolicy, 
    CollisionConflictResolutionPolicy collisionConflictResolutionPolicy, 
    ChangeBatch^ sourceChanges, 
    IChangeDataRetriever^ changeDataRetriever, 
    IEnumerable<ItemChange^>^ destinationVersions, 
    SyncKnowledge^ destinationKnowledge, 
    ForgottenKnowledge^ destinationForgottenKnowledge, 
    INotifyingChangeApplierTarget^ changeApplierTarget, 
    IConflictLogAccess^ conflictLogAccess, 
    SyncSessionContext^ syncSessionState, 
    SyncCallbacks^ syncCallback
)
member ApplyChanges : 
        resolutionPolicy:ConflictResolutionPolicy * 
        collisionConflictResolutionPolicy:CollisionConflictResolutionPolicy * 
        sourceChanges:ChangeBatch * 
        changeDataRetriever:IChangeDataRetriever * 
        destinationVersions:IEnumerable<ItemChange> * 
        destinationKnowledge:SyncKnowledge * 
        destinationForgottenKnowledge:ForgottenKnowledge * 
        changeApplierTarget:INotifyingChangeApplierTarget * 
        conflictLogAccess:IConflictLogAccess * 
        syncSessionState:SyncSessionContext * 
        syncCallback:SyncCallbacks -> unit 
public function ApplyChanges(
    resolutionPolicy : ConflictResolutionPolicy, 
    collisionConflictResolutionPolicy : CollisionConflictResolutionPolicy, 
    sourceChanges : ChangeBatch, 
    changeDataRetriever : IChangeDataRetriever, 
    destinationVersions : IEnumerable<ItemChange>, 
    destinationKnowledge : SyncKnowledge, 
    destinationForgottenKnowledge : ForgottenKnowledge, 
    changeApplierTarget : INotifyingChangeApplierTarget, 
    conflictLogAccess : IConflictLogAccess, 
    syncSessionState : SyncSessionContext, 
    syncCallback : SyncCallbacks
)

Parámetros

Excepciones

Excepción Condición
ArgumentNullException

sourceChanges, changeDataRetriever, destinationKnowledge, changeApplierTarget o syncCallback es un valor null Nothing nullptr unit es una referencia NULL (Nothing en Visual Basic). .

ArgumentOutOfRangeException

O bien

collisionResolutionPolicy no es miembro de la enumeración CollisionConflictResolutionPolicy.

SyncIdFormatMismatchException
  • sourceChanges tiene conocimiento olvidado que está en un formato diferente al de destinationKnowledge

O bien

  • destinationForgottenKnowledge se concedió y tiene un formato distinto del de destinationKnowledge

Notas

Este método detecta los conflictos de simultaneidad que se producen entre los cambios que se envían en sourceChanges y los elementos correspondientes en la réplica de destino. Resuelve los conflictos de simultaneidad según la directiva especificada por resolutionPolicy. Cuando el proveedor de destino notifica conflictos de restricción de colisión, este método los resuelve según la directiva especificada por collisionConflictResolutionPolicy. Si no hay establecida ninguna directiva de resolución de conflictos, este método notifica a la aplicación un conflicto y la aplicación especifica una acción de resolución de conflictos. Si es necesario, este método llama después a los métodos de changeApplierTarget para guardar los cambios en la réplica de destino y los conflictos no resueltos.

El aplicador de cambios ayuda a administrar el registro de conflictos especificado por conflictLogAccess, resolviendo los conflictos del registro y quitando los conflictos obsoletos del registro. El aplicador de cambios también puede utilizar el registro de conflictos para almacenar los conflictos temporales que se producen como consecuencia de la combinación de conflictos de restricción. Cualquier conflicto temporal agregado al registro se quitará antes de que finalice la sesión de sincronización.

Vea también

Referencia

NotifyingChangeApplier Clase

NotifyingChangeApplier Miembros

ApplyChanges Sobrecarga

Microsoft.Synchronization Espacio de nombres