Freigeben über


INotifyingChangeApplierTarget2.SaveConstraintConflict-Methode

Speichert, wenn in einer abgeleiteten Klasse überschrieben, Informationen über Elemente, die in einen Einschränkungskonflikt verwickelt sind.

Namespace: Microsoft.Synchronization
Assembly: Microsoft.Synchronization (in microsoft.synchronization.dll)

Syntax

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

Parameter

  • conflictingChange
    Die Elementmetadaten für die den Konflikt verursachende Änderung vom Quellenanbieter.
  • conflictingItemId
    Die Element-ID des Elements im Zielreplikat, das mit dem von conflictingChange angegebenen Element in Konflikt steht.
  • reason
    Der Grund für das Auftreten des Konflikts.
  • conflictingChangeData
    Die Elementdaten für die Konflikt verursachende Änderung.
  • conflictingChangeKnowledge
    Das zu übernehmende Wissen, wenn diese Änderung angewendet wird. Dieses muss mit der Änderung gespeichert werden.
  • temporary
    true, wenn es sich um einen temporären Konflikt handelt. Andernfalls false.

Hinweise

Wenn die durch diesen Konflikt dargestellte Änderung auf ein Replikat angewendet wird, muss conflictingChangeKnowledge mit dem Wissen dieses Replikats kombiniert werden.

Beispiel

Im folgenden Beispiel wird gezeigt, wie ein temporärer Einschränkungskonflikt mit einem MemoryConflictLog-Objekt gespeichert wird.

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);
    }
}

Siehe auch

Verweis

INotifyingChangeApplierTarget2-Schnittstelle
INotifyingChangeApplierTarget2-Member
Microsoft.Synchronization-Namespace