Partager via


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

Effectue des opérations de détection de conflit, de gestion des conflits d'accès concurrentiel, de gestion des conflits de contraintes, d'application des modifications et de gestion du journal des conflits pour un lot de modifications.

Espace de noms :  Microsoft.Synchronization
Assembly :  Microsoft.Synchronization (dans Microsoft.Synchronization.dll)

Syntaxe

'Déclaration
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 _
)
'Utilisation
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
)

Paramètres

  • destinationVersions
    Type : System.Collections.Generic. . :: . .IEnumerable< (Of < ( <'ItemChange> ) > ) >
    Lot de modifications qui contient les versions des éléments stockés dans le réplica de destination. Ces éléments correspondent aux éléments contenus dans sourceChanges.

Exceptions

Exception Condition
ArgumentNullException

sourceChanges, changeDataRetriever, destinationKnowledge, changeApplierTarget ou syncCallback est une null Nothing nullptr unit une référence Null (Nothing dans Visual Basic) .

ArgumentOutOfRangeException

—ou—

collisionResolutionPolicy n'est pas membre de l'énumération CollisionConflictResolutionPolicy.

SyncIdFormatMismatchException
  • sourceChanges a des connaissances oubliées dont le format est différent de celui de destinationKnowledge

—ou—

  • destinationForgottenKnowledge a été spécifié et possède un format différent de celui de destinationKnowledge

Notes

Cette méthode détecte les conflits d'accès concurrentiel qui se produisent entre les modifications envoyées dans sourceChanges et les éléments correspondants dans le réplica de destination. Elle résout tous les conflits d'accès concurrentiel conformément à la stratégie spécifiée par resolutionPolicy. Lorsque les conflits de contraintes de collision sont signalés par le fournisseur de destination, cette méthode les résout conformément à la stratégie spécifiée par collisionConflictResolutionPolicy. Si aucune stratégie de résolution de conflit n'est définie, cette méthode indique à l'application qu'un conflit s'est produit, et l'application spécifie une action de résolution de conflit. Si nécessaire, cette méthode appelle ensuite des méthodes sur changeApplierTarget pour enregistrer les modifications dans le réplica de destination et enregistrer les conflits non résolus.

L'applicateur de modifications facilite la gestion du journal des conflits spécifié par conflictLogAccess, en résolvant les conflits figurant dans le journal et en supprimant du journal ceux qui sont obsolètes. L'applicateur de modifications peut également utiliser le journal des conflits pour stocker des conflits temporaires résultant de la fusion de conflits de contraintes. Tous les conflits temporaires ajoutés au journal seront supprimés avant la fin de la session de synchronisation.

Voir aussi

Référence

NotifyingChangeApplier Classe

Membres NotifyingChangeApplier

Surcharge ApplyChanges

Espace de noms Microsoft.Synchronization