다음을 통해 공유


INotifyingChangeApplierTarget2.SaveConstraintConflict 메서드

파생 클래스에서 재정의되면 제약 조건 충돌과 관련되는 항목에 대한 정보를 저장합니다.

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

구문

‘선언
Sub SaveConstraintConflict ( _
    conflictingChange As ItemChange, _
    conflictingItemId As SyncId, _
    reason As ConstraintConflictReason, _
    conflictingChangeData As Object, _
    conflictingChangeKnowledge As SyncKnowledge, _
    temporary As Boolean _
)
‘사용 방법
Dim instance As INotifyingChangeApplierTarget2
Dim conflictingChange As ItemChange
Dim conflictingItemId As SyncId
Dim reason As ConstraintConflictReason
Dim conflictingChangeData As Object
Dim conflictingChangeKnowledge As SyncKnowledge
Dim temporary As Boolean

instance.SaveConstraintConflict(conflictingChange, conflictingItemId, reason, conflictingChangeData, conflictingChangeKnowledge, temporary)
void SaveConstraintConflict (
    ItemChange conflictingChange,
    SyncId conflictingItemId,
    ConstraintConflictReason reason,
    Object conflictingChangeData,
    SyncKnowledge conflictingChangeKnowledge,
    bool temporary
)
void SaveConstraintConflict (
    ItemChange^ conflictingChange, 
    SyncId^ conflictingItemId, 
    ConstraintConflictReason reason, 
    Object^ conflictingChangeData, 
    SyncKnowledge^ conflictingChangeKnowledge, 
    bool temporary
)
void SaveConstraintConflict (
    ItemChange conflictingChange, 
    SyncId conflictingItemId, 
    ConstraintConflictReason reason, 
    Object conflictingChangeData, 
    SyncKnowledge conflictingChangeKnowledge, 
    boolean temporary
)
function SaveConstraintConflict (
    conflictingChange : ItemChange, 
    conflictingItemId : SyncId, 
    reason : ConstraintConflictReason, 
    conflictingChangeData : Object, 
    conflictingChangeKnowledge : SyncKnowledge, 
    temporary : boolean
)

매개 변수

  • conflictingChange
    원본 공급자에서 충돌하는 변경 내용에 대한 항목 메타데이터입니다.
  • conflictingItemId
    대상 복제본에서 conflictingChange로 지정된 항목과 충돌하는 항목의 항목 ID입니다.
  • reason
    충돌이 발생한 이유입니다.
  • conflictingChangeData
    충돌하는 변경 내용에 대한 항목 데이터입니다.
  • conflictingChangeKnowledge
    이 변경 내용이 적용되는 경우 배우게 되는 정보입니다. 변경 내용과 함께 저장되어야 합니다.
  • temporary
    임시 충돌이면 true이고, 그렇지 않으면 false입니다.

주의

이 충돌이 나타내는 변경 내용이 복제본에 적용되는 경우 conflictingChangeKnowledge는 해당 복제본의 정보와 결합되어야 합니다.

예제

다음 예제에서는 MemoryConflictLog 개체를 사용하여 임시 제약 조건 충돌을 저장하는 방법을 보여 줍니다.

public void SaveConstraintConflict(ItemChange conflictingChange, SyncId conflictingItemId, 
    ConstraintConflictReason reason, object conflictingChangeData, SyncKnowledge conflictingChangeKnowledge, 
    bool temporary)
{
    if (!temporary)
    {
        // The in-memory conflict log is used, so if a non-temporary conflict is saved, it's
        // an error.
        throw new NotImplementedException("SaveConstraintConflict can only save temporary conflicts.");
    }
    else
    {
        // For temporary conflicts, just pass on the data and let the conflict log handle it.
        _memConflictLog.SaveConstraintConflict(conflictingChange, conflictingItemId, reason, 
            conflictingChangeData, conflictingChangeKnowledge, temporary);
    }
}

참고 항목

참조

INotifyingChangeApplierTarget2 인터페이스
INotifyingChangeApplierTarget2 멤버
Microsoft.Synchronization 네임스페이스