MemoryConflictLog.SaveConstraintConflict Método
Guarda información sobre un cambio que produjo un conflicto de restricción.
Espacio de nombres: Microsoft.Synchronization
Ensamblado: Microsoft.Synchronization (en microsoft.synchronization.dll)
Sintaxis
'Declaración
Public Sub SaveConstraintConflict ( _
conflictingChange As ItemChange, _
conflictingItemId As SyncId, _
reason As ConstraintConflictReason, _
conflictingChangeData As Object, _
conflictingChangeKnowledge As SyncKnowledge, _
temporary As Boolean _
)
'Uso
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
)
Parámetros
- conflictingChange
Metadatos de elemento para el cambio en conflicto del proveedor de origen.
- conflictingItemId
Identificador de elemento del elemento de la réplica de destino que está en conflicto con el elemento especificada por conflictingChange.
- reason
Motivo por el que se produjo el conflicto.
- conflictingChangeData
Datos de elemento para el cambio conflictivo.
- conflictingChangeKnowledge
Conocimiento que se va a obtener si se aplica este cambio. Este conocimiento se debe guardar con el cambio.
- temporary
true si se trata de un conflicto temporal. En caso contrario, false.
Excepciones
Tipo de excepción | Condición |
---|---|
conflictingChange o conflictingChangeKnowledge es un valor es una referencia nula (Nothing en Visual Basic).. |
Notas
El conflicto se guarda en el registro de conflictos en memoria. Para guardar el conflicto una vez que se completa la sincronización, llame al método Persist.
Ejemplo
En el ejemplo siguiente se muestra cómo guardar un conflicto de restricción temporal utilizando un objeto 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);
}
}
Vea también
Referencia
MemoryConflictLog Clase
MemoryConflictLog Miembros
Microsoft.Synchronization Espacio de nombres