Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Esegue il rilevamento dei conflitti, la gestione dei conflitti di concorrenza e di vincoli, l'applicazione di modifiche e la gestione del log dei conflitti per un batch di modifiche.
Spazio dei nomi: Microsoft.Synchronization
Assembly: Microsoft.Synchronization (in microsoft.synchronization.dll)
Sintassi
'Dichiarazione
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 _
)
'Utilizzo
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
)
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 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
)
Parametri
- resolutionPolicy
Criteri da utilizzare per la risoluzione di conflitti.
- collisionConflictResolutionPolicy
Criteri da utilizzare per la risoluzione di conflitti di vincoli di collisione.
- sourceChanges
Batch di modifiche del provider di origine.
- changeDataRetriever
Oggetto che può essere utilizzato per recuperare i dati dell'elemento dalla replica di origine.
- destinationVersions
Batch di modifiche che contiene le versioni degli elementi archiviati nella replica di destinazione. Questi elementi corrispondono a quelli in sourceChanges.
- destinationKnowledge
Conoscenza della replica di destinazione.
- destinationForgottenKnowledge
Conoscenza dimenticata della replica di destinazione.
- changeApplierTarget
Oggetto che verrà chiamato per salvare modifiche e conflitti.
- conflictLogAccess
Log dei conflitti in cui vengono archiviati conflitti posticipati e conflitti temporanei.
- syncSessionState
Informazioni sullo stato relative alla sessione corrente.
- syncCallback
Callback che riceveranno notifiche sugli eventi di applicazione modifiche.
Osservazioni
Questo metodo rileva i conflitti di concorrenza che si verificano tra le modifiche inviate in sourceChanges e gli elementi corrispondenti nella replica di destinazione. Risolve qualsiasi conflitto di concorrenza in base ai criteri specificati da resolutionPolicy. Quando vengono segnalati conflitti di vincoli di collisione dal provider di destinazione, questo metodo li risolve in base ai criteri specificati da collisionConflictResolutionPolicy. Se non vengono impostati criteri di risoluzione dei conflitti, questo metodo notifica un conflitto all'applicazione e quest'ultima specifica un'azione per la risoluzione dei conflitti. Se necessario, questo metodo chiama metodi su changeApplierTarget per salvare le modifiche nella replica di destinazione e i conflitti non risolti.
L'oggetto di applicazione modifiche consente di gestire il log dei conflitti specificato da conflictLogAccess, risolvendo i conflitti nel log e rimuovendo i conflitti obsoleti dal log. Inoltre, l'oggetto di applicazione modifiche può utilizzare il log dei conflitti per archiviare conflitti temporanei che si verificano in seguito all'unione di conflitti di vincoli. Qualsiasi conflitto temporaneo aggiunto al log sarà rimosso prima del completamento della sessione di sincronizzazione.
Vedere anche
Riferimento
Classe NotifyingChangeApplier
Membri NotifyingChangeApplier
Spazio dei nomi Microsoft.Synchronization