다음을 통해 공유


NotifyingChangeApplier.ApplyChanges 메서드 (ConflictResolutionPolicy, CollisionConflictResolutionPolicy, ChangeBatch, IChangeDataRetriever, SyncKnowledge, ForgottenKnowledge, INotifyingChangeApplierTarget, IConflictLogAccess, SyncSessionContext, SyncCallbacks)

일괄 변경 내용에 대해 충돌 검색, 동시성 충돌 처리, 제약 조건 충돌 처리, 변경 내용 적용 및 충돌 로그 관리를 수행합니다.

네임스페이스: Microsoft.Synchronization
어셈블리: microsoft.synchronization.dll의 Microsoft.Synchronization

구문

‘선언
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 _
)
‘사용 방법
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
)

매개 변수

  • resolutionPolicy
    충돌 해결에 사용할 정책입니다.
  • collisionConflictResolutionPolicy
    중복 제약 조건 충돌을 해결하는 데 사용할 정책입니다.
  • sourceChanges
    원본 공급자의 일괄 변경 내용입니다.
  • changeDataRetriever
    원본 복제본에서 항목 데이터를 검색하는 데 사용할 수 있는 개체입니다.
  • destinationKnowledge
    대상 복제본의 정보입니다.
  • destinationForgottenKnowledge
    대상 복제본의 잊어버린 정보입니다.
  • changeApplierTarget
    변경 내용 및 충돌을 저장하기 위해 호출할 개체입니다.
  • conflictLogAccess
    지연된 충돌 및 임시 충돌이 저장되는 충돌 로그입니다.
  • syncSessionState
    현재 세션에 대한 상태 정보입니다.
  • syncCallback
    변경 내용 적용 이벤트에 대한 알림을 받을 콜백입니다.

주의

이 메서드는 sourceChanges에서 보내는 변경 내용과 대상 복제본에서 이에 해당하는 항목 간에 발생하는 동시성 충돌을 검색하고, resolutionPolicy에 지정된 정책에 따라 모든 동시성 충돌을 해결합니다. 또한 이 메서드는 대상 공급자에서 중복 제약 조건 충돌을 보고하면 collisionConflictResolutionPolicy에 지정된 정책에 따라 충돌을 해결합니다. 충돌 해결 정책이 설정되지 않은 경우에는 이 메서드가 응용 프로그램에 충돌을 알리고 응용 프로그램에서 충돌 해결 동작을 지정합니다. 그런 다음 필요에 따라 changeApplierTarget에서 메서드를 호출하여 변경 내용을 대상 복제본에 저장하고 해결되지 않은 충돌을 저장합니다.

대상 버전을 가져오기 위해 이 메서드는 sourceChanges에 있는 각 항목의 changeApplierTarget에서 TryGetDestinationVersion을 호출합니다.

변경 내용 적용자는 로그에 보고된 충돌을 해결하고 더 이상 사용되지 않는 충돌을 로그에서 제거하는 방식으로 conflictLogAccess에 지정된 충돌 로그를 관리합니다. 또한 제약 조건 충돌을 병합한 결과로 발생하는 임시 충돌을 저장하기 위해 충돌 로그를 사용할 수도 있습니다. 로그에 추가된 임시 충돌은 동기화 세션이 끝나기 전에 모두 제거됩니다.

참고 항목

참조

NotifyingChangeApplier 클래스
NotifyingChangeApplier 멤버
Microsoft.Synchronization 네임스페이스