Partager via


NotifyingChangeApplier.ApplyChanges méthode (ConflictResolutionPolicy, CollisionConflictResolutionPolicy, ChangeBatch, IChangeDataRetriever, 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, _
    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 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
)

Paramètres

  • resolutionPolicy
    Stratégie à utiliser pour résoudre les conflits.
  • collisionConflictResolutionPolicy
    Stratégie à utiliser pour résoudre les conflits de contraintes de collision.
  • sourceChanges
    Lot de modifications du fournisseur de source.
  • changeDataRetriever
    Objet qui peut être utilisé pour récupérer des données d'élément du réplica source.
  • destinationKnowledge
    Connaissance du réplica de destination.
  • destinationForgottenKnowledge
    Connaissance oubliée du réplica de destination.
  • changeApplierTarget
    Objet qui sera appelé pour enregistrer les modifications et conflits.
  • conflictLogAccess
    Journal des conflits dans lequel sont stockés les conflits différés et les conflits temporaires.
  • syncSessionState
    Informations d'état relatives à la session active.
  • syncCallback
    Rappels qui recevront des notifications à propos des événements d'application de modifications.

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.

Pour obtenir la version de destination, cette méthode appelle la méthode TryGetDestinationVersion sur changeApplierTarget pour chaque élément contenu dans sourceChanges.

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

Classe NotifyingChangeApplier
Membres NotifyingChangeApplier
Espace de noms Microsoft.Synchronization