Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Führt als Teil einer Wiederherstellungssynchronisierung Konflikterkennung, Parallelitätskonfliktbehandlung, Einschränkungskonfliktbehandlung, Änderungsanwendung und Konfliktprotokollverwaltung für einen Batch von Änderungen aus.
Namespace: Microsoft.Synchronization
Assembly: Microsoft.Synchronization (in Microsoft.Synchronization.dll)
Syntax
'Declaration
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 _
)
'Usage
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
)
Parameter
- resolutionPolicy
Typ: Microsoft.Synchronization. . :: . .ConflictResolutionPolicy
Die Richtlinie, die zum Auflösen von Konflikten verwendet werden soll.
- collisionConflictResolutionPolicy
Typ: Microsoft.Synchronization. . :: . .CollisionConflictResolutionPolicy
Die Richtlinie, die zum Auflösen von Kollisionseinschränkungskonflikten verwendet werden soll.
- sourceChanges
Typ: Microsoft.Synchronization. . :: . .FullEnumerationChangeBatch
Der Batch der Änderungen vom Quellenanbieter.
- changeDataRetriever
Typ: Microsoft.Synchronization. . :: . .IChangeDataRetriever
Ein Objekt, das zum Abrufen von Elementdaten aus dem Quellreplikat verwendet werden kann.
- destinationVersions
Typ: System.Collections.Generic. . :: . .IEnumerable< (Of < ( <'ItemChange> ) > ) >
Ein Batch von Änderungen, der die Versionen der im Zielreplikat gespeicherten Elemente enthält. Diese Elemente entsprechen den Elementen in sourceChanges.
- destinationKnowledge
Typ: Microsoft.Synchronization. . :: . .SyncKnowledge
Das Wissen des Zielreplikats.
- destinationForgottenKnowledge
Typ: Microsoft.Synchronization. . :: . .ForgottenKnowledge
Das vergessene Wissen des Zielreplikats.
- changeApplierTarget
Typ: Microsoft.Synchronization. . :: . .INotifyingChangeApplierTarget
Das Objekt, das zum Speichern von Änderungen und Konflikten aufgerufen wird.
- conflictLogAccess
Typ: Microsoft.Synchronization. . :: . .IConflictLogAccess
Das Konfliktprotokoll, in dem verzögerte und temporäre Konflikte gespeichert werden.
- syncSessionState
Typ: Microsoft.Synchronization. . :: . .SyncSessionContext
Zustandsinformationen über die aktuelle Sitzung.
- syncCallback
Typ: Microsoft.Synchronization. . :: . .SyncCallbacks
Rückrufe, die Benachrichtigungen über Änderungsanwendungsereignisse empfangen.
Ausnahmen
| Ausnahme | Bedingung |
|---|---|
| ArgumentNullException | sourceChanges, changeDataRetriever, destinationKnowledge, changeApplierTarget oder syncCallback ist NULL. |
| ArgumentOutOfRangeException |
- oder - collisionResolutionPolicy ist kein Member der CollisionConflictResolutionPolicy-Enumeration. |
| SyncIdFormatMismatchException |
- oder -
|
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.
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.