Поделиться через


Метод INotifyingChangeApplierTarget2.SaveConstraintConflict

При переопределении в производном классе сохраняет сведения об элементах, участвующих в конфликте ограничений.

Пространство имен: Microsoft.Synchronization
Сборка: Microsoft.Synchronization (в microsoft.synchronization.dll)

Синтаксис

'Декларация
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.
  • 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