Compartir a través de


INotifyingChangeApplierTarget2.SaveConstraintConflict Método

Cuando se invalida en una clase derivada, guarda información sobre los elementos implicados en un conflicto de restricción.

Espacio de nombres: Microsoft.Synchronization
Ensamblado: Microsoft.Synchronization (en microsoft.synchronization.dll)

Sintaxis

'Declaración
Sub SaveConstraintConflict ( _
    conflictingChange As ItemChange, _
    conflictingItemId As SyncId, _
    reason As ConstraintConflictReason, _
    conflictingChangeData As Object, _
    conflictingChangeKnowledge As SyncKnowledge, _
    temporary As Boolean _
)
'Uso
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
)

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.

Notas

Si el cambio representado por este conflicto se aplica a una réplica, conflictingChangeKnowledge se debe combinar con el conocimiento de esa réplica.

Ejemplo

En el ejemplo siguiente se muestra cómo guardar un conflicto de restricción temporal utilizando un objeto 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);
    }
}

Vea también

Referencia

INotifyingChangeApplierTarget2 Interfaz
INotifyingChangeApplierTarget2 Miembros
Microsoft.Synchronization Espacio de nombres