Compartilhar via


Método NotifyingChangeApplier.ApplyChanges (ConflictResolutionPolicy, CollisionConflictResolutionPolicy, ChangeBatch, IChangeDataRetriever, SyncKnowledge, ForgottenKnowledge, INotifyingChangeApplierTarget, IConflictLogAccess, SyncSessionContext, SyncCallbacks)

Executa a detecção de conflitos, a manipulação de conflitos de simultaneidade, a manipulação de conflitos de restrição, a aplicação de alterações e o gerenciamento de log de conflitos para um lote de alterações.

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

Sintaxe

'Declaração
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 _
)
'Uso
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
)

Parâmetros

  • resolutionPolicy
    A política a ser usada para resolver conflitos.
  • collisionConflictResolutionPolicy
    A política a ser usada para resolver conflitos de restrição de colisão.
  • sourceChanges
    O lote de alterações do provedor de origem.
  • changeDataRetriever
    Um objeto que pode ser usado para recuperar dados de item a partir da réplica de origem.
  • destinationKnowledge
    O conhecimento da réplica de destino.
  • destinationForgottenKnowledge
    O conhecimento esquecido da réplica de destino.
  • changeApplierTarget
    O objeto que será chamado para salvar alterações e conflitos.
  • conflictLogAccess
    O log de conflitos onde são armazenados conflitos adiados e temporários.
  • syncSessionState
    Informações de estado sobre a sessão atual.
  • syncCallback
    Retornos de chamada que receberão notificações sobre eventos de aplicação de alterações.

Comentários

Esse método detecta conflitos de simultaneidade que ocorrem entre as alterações enviadas em sourceChanges e os itens correspondentes na réplica de destino. Ele resolve qualquer conflito de simultaneidade de acordo com a política especificada por resolutionPolicy. Quando conflitos de restrição de colisão são relatados pelo provedor de destino, esse método os resolve de acordo com a política especificada por collisionConflictResolutionPolicy. Se nenhuma política de resolução de conflitos estiver definida, esse método notificará o aplicativo de um conflito, e o aplicativo especificará uma ação de resolução de conflitos. Se necessário, esse método chama métodos em changeApplierTarget para salvar alterações na réplica de destino e para salvar conflitos não resolvidos.

Para obter a versão de destino, esse método chama TryGetDestinationVersion em changeApplierTarget para cada item em sourceChanges.

O aplicador de alterações ajuda a gerenciar o log de conflitos especificado por conflictLogAccess, resolvendo conflitos no log e removendo conflitos obsoletos do log. O aplicador de alterações também pode usar o log de conflitos para armazenar conflitos temporários que ocorrem em consequência dos conflitos de restrição de mesclagem. Qualquer conflito temporário adicionado ao log será removido antes do término da sessão de sincronização.

Consulte também

Referência

Classe NotifyingChangeApplier
Membros NotifyingChangeApplier
Namespace Microsoft.Synchronization