共用方式為


NotifyingChangeApplier.ApplyFullEnumerationChanges 方法 (ConflictResolutionPolicy, CollisionConflictResolutionPolicy, FullEnumerationChangeBatch, IChangeDataRetriever, 泛型 IEnumerable, SyncKnowledge, ForgottenKnowledge, INotifyingChangeApplierTarget, IConflictLogAccess, SyncSessionContext, SyncCallbacks)

針對變更的批次執行衝突偵測、並行衝突處理、條件約束衝突處理、變更套用和衝突記錄檔管理 (復原同步處理的一部分)。

命名空間: Microsoft.Synchronization
組件: Microsoft.Synchronization (在 microsoft.synchronization.dll)

語法

'宣告
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 _
)
'用途
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
)
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 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
)

參數

  • resolutionPolicy
    要用來解決衝突的原則。
  • collisionConflictResolutionPolicy
    要用來解決衝突條件約束衝突的原則。
  • sourceChanges
    來源提供者的變更批次。
  • changeDataRetriever
    可用來從來源複寫中擷取項目資料的物件。
  • destinationVersions
    包含此目的地複寫內儲存之項目版本的變更批次。這些項目會對應至 sourceChanges 中的項目。
  • destinationKnowledge
    目的地複寫的知識。
  • destinationForgottenKnowledge
    目的地複寫的被遺忘知識。
  • changeApplierTarget
    將要針對儲存變更和衝突所呼叫的物件。
  • conflictLogAccess
    儲存延遲衝突和暫時衝突的衝突記錄檔。
  • syncSessionState
    有關目前工作階段的狀態資訊。
  • syncCallback
    將會接收有關變更套用事件之通知的回呼。

備註

這個方法會偵測 sourceChanges 中所傳送變更與目的地複寫中對應項目之間發生的並行衝突。它會根據 resolutionPolicy 所指定的原則,解決任何並行衝突。當目的地提供者報告衝突條件約束衝突時,這個方法就會根據 collisionConflictResolutionPolicy 所指定的原則解決這些衝突。如果沒有設定任何衝突解決原則,這個方法會向應用程式通知衝突,然後此應用程式會指定衝突解決動作。如果有必要,這個方法便會呼叫 changeApplierTarget 上的方法,將變更儲存至目的地複寫,並且儲存未解決的衝突。

變更套用者會透過解決 conflictLogAccess 所指定之衝突記錄檔中的衝突並從記錄檔中移除過時的衝突,協助管理衝突記錄檔。變更套用者可能也會使用衝突記錄檔來儲存合併條件約束衝突所導致的暫時衝突。在同步處理工作階段結束之前,將會移除任何加入至記錄檔的暫時衝突。

請參閱

參考

NotifyingChangeApplier 類別
NotifyingChangeApplier 成員
Microsoft.Synchronization 命名空間