Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Сохраняет сведения об изменении, вызвавшем конфликт ограничений.
Пространство имен: Microsoft.Synchronization
Сборка: Microsoft.Synchronization (в microsoft.synchronization.dll)
Синтаксис
'Декларация
Public Sub SaveConstraintConflict ( _
conflictingChange As ItemChange, _
conflictingItemId As SyncId, _
reason As ConstraintConflictReason, _
conflictingChangeData As Object, _
conflictingChangeKnowledge As SyncKnowledge, _
temporary As Boolean _
)
'Применение
Dim instance As MemoryConflictLog
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)
public void SaveConstraintConflict (
ItemChange conflictingChange,
SyncId conflictingItemId,
ConstraintConflictReason reason,
Object conflictingChangeData,
SyncKnowledge conflictingChangeKnowledge,
bool temporary
)
public:
virtual void SaveConstraintConflict (
ItemChange^ conflictingChange,
SyncId^ conflictingItemId,
ConstraintConflictReason reason,
Object^ conflictingChangeData,
SyncKnowledge^ conflictingChangeKnowledge,
bool temporary
) sealed
public final void SaveConstraintConflict (
ItemChange conflictingChange,
SyncId conflictingItemId,
ConstraintConflictReason reason,
Object conflictingChangeData,
SyncKnowledge conflictingChangeKnowledge,
boolean temporary
)
public final function SaveConstraintConflict (
conflictingChange : ItemChange,
conflictingItemId : SyncId,
reason : ConstraintConflictReason,
conflictingChangeData : Object,
conflictingChangeKnowledge : SyncKnowledge,
temporary : boolean
)
Параметры
- conflictingChange
Метаданные элемента для конфликтующего изменения от поставщика источника.
- conflictingItemId
Идентификатор элемента в реплике назначения, который конфликтует с элементом, указанным в параметре conflictingChange.
- reason
Причина возникновения конфликта.
- conflictingChangeData
Данные элемента для конфликтующего изменения.
- conflictingChangeKnowledge
Набор знаний, который должен стать известен при применении этого изменения. Должен сохраняться вместе с изменением.
- temporary
Значение true, если это временный конфликт. В противном случае значение false.
Исключения
| Тип исключения | Условие |
|---|---|
Параметр conflictingChange или conflictingChangeKnowledge равен пустая ссылка (Nothing в Visual Basic). |
Замечания
Конфликт сохраняется в журнал конфликтов, расположенный в памяти. Чтобы сохранить конфликт после завершения синхронизации, вызовите метод Persist.
Пример
Следующий пример показывает, как сохранить временный конфликт ограничения с помощью объекта MemoryConflictLog.
Public Sub SaveConstraintConflict(ByVal conflictingChange As ItemChange, ByVal conflictingItemId As SyncId, ByVal reason As ConstraintConflictReason, ByVal conflictingChangeData As Object, ByVal conflictingChangeKnowledge As SyncKnowledge, ByVal temporary As Boolean) Implements INotifyingChangeApplierTarget2.SaveConstraintConflict
If Not temporary Then
' 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)
End If
End Sub
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);
}
}
См. также
Справочник
Класс MemoryConflictLog
Элементы MemoryConflictLog
Пространство имен Microsoft.Synchronization