Freigeben über


NotifyingChangeApplier.ApplyChanges-Methode (ConflictResolutionPolicy, CollisionConflictResolutionPolicy, ChangeBatch, IChangeDataRetriever, SyncKnowledge, ForgottenKnowledge, INotifyingChangeApplierTarget, IConflictLogAccess, SyncSessionContext, SyncCallbacks)

Führt Konflikterkennung, Parallelitätskonfliktbehandlung, Einschränkungskonfliktbehandlung, Änderungsübernahme und Konfliktprotokollverwaltung für einen Batch von Änderungen aus.

Namespace: Microsoft.Synchronization
Assembly: Microsoft.Synchronization (in microsoft.synchronization.dll)

Syntax

'Declaration
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 _
)
'Usage
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
)

Parameter

  • resolutionPolicy
    Die Richtlinie, die zum Auflösen von Konflikten verwendet werden soll.
  • collisionConflictResolutionPolicy
    Die Richtlinie, die zum Auflösen von Kollisionseinschränkungskonflikten verwendet werden soll.
  • sourceChanges
    Der Batch der Änderungen vom Quellenanbieter.
  • changeDataRetriever
    Ein Objekt, das zum Abrufen von Elementdaten aus dem Quellreplikat verwendet werden kann.
  • destinationKnowledge
    Das Wissen des Zielreplikats.
  • destinationForgottenKnowledge
    Das vergessene Wissen des Zielreplikats.
  • changeApplierTarget
    Das Objekt, das zum Speichern von Änderungen und Konflikten aufgerufen wird.
  • conflictLogAccess
    Das Konfliktprotokoll, in dem verzögerte und temporäre Konflikte gespeichert werden.
  • syncSessionState
    Zustandsinformationen über die aktuelle Sitzung.
  • syncCallback
    Rückrufe, die Benachrichtigungen über Änderungsanwendungsereignisse empfangen.

Hinweise

Diese Methode erkennt Parallelitätskonflikte, die zwischen den in sourceChanges gesendeten Änderungen und den entsprechenden Elementen im Zielreplikat auftreten. Sie löst alle Parallelitätskonflikte gemäß der von resolutionPolicy angegebenen Richtlinie auf. Wenn Kollisionseinschränkungskonflikte vom Zielanbieter gemeldet werden, löst diese Methode sie nach der von collisionConflictResolutionPolicy angegebenen Richtlinie auf. Wenn keine Richtlinie zur Konfliktauflösung festgelegt wird, benachrichtigt diese Methode die Anwendung über einen Konflikt, und die Anwendung gibt eine Konfliktauflösungsaktion an. Falls erforderlich, ruft diese Methode anschließend Methoden für changeApplierTarget auf, um Änderungen im Zielreplikat sowie nicht aufgelöste Konflikte zu speichern.

Um die Zielversion abzurufen, ruft diese Methode TryGetDestinationVersion für changeApplierTarget für jedes Element auf, das in sourceChanges enthalten ist.

Der Änderungsanwender unterstützt die Verwaltung des von conflictLogAccess angegebenen Konfliktprotokolls durch Auflösen von Konflikten im Protokoll und Entfernen veralteter Konflikte aus dem Protokoll. Der Änderungsanwender speichert im Konfliktprotokoll möglicherweise auch temporäre Konflikte, die als Ergebnis der Zusammenführung von Einschränkungskonflikten auftreten. Alle temporären, dem Protokoll hinzugefügten Konflikte werden vor dem Ende der Synchronisierungssitzung entfernt.

Siehe auch

Verweis

NotifyingChangeApplier-Klasse
NotifyingChangeApplier-Member
Microsoft.Synchronization-Namespace