Freigeben über


ReplicaMetadata.CleanupDeletedItems-Methode

Entfernt, wenn in einer abgeleiteten Klasse überschrieben, Elemente, die als gelöscht markiert und älter als die letzte erfolgreiche Bereinigung sind.

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

Syntax

'Declaration
Public MustOverride Function CleanupDeletedItems ( _
    timeInterval As TimeSpan _
) As Boolean
'Usage
Dim instance As ReplicaMetadata
Dim timeInterval As TimeSpan
Dim returnValue As Boolean

returnValue = instance.CleanupDeletedItems(timeInterval)
public abstract bool CleanupDeletedItems (
    TimeSpan timeInterval
)
public:
virtual bool CleanupDeletedItems (
    TimeSpan timeInterval
) abstract
public abstract boolean CleanupDeletedItems (
    TimeSpan timeInterval
)
public abstract function CleanupDeletedItems (
    timeInterval : TimeSpan
) : boolean

Parameter

  • timeInterval
    Das Mindestalter von gelöschten Elementen, die im Metadatenspeicher verbleiben sollen. Der Wert 0 bedeutet, dass alle gelöschten Elemente sofort bereinigt werden.

Rückgabewert

true, wenn eine Bereinigung ausgeführt wurde; andernfalls false.

Ausnahmen

Ausnahmetyp Bedingung

ObjectDisposedException

Das Objekt wurde verworfen oder nicht ordnungsgemäß initialisiert.

Hinweise

Diese Methode unterstützt einen Anbieter beim Bereinigen gelöschter Elemente nach einem Zeitplan. Das von timeInterval angegebene Zeitintervall ist das Mindestalter von gelöschten Elementen, die im Metadatenspeicher beibehalten werden. Da die Methode nur nach Ablauf des Zeitraums timeInterval gelöschte Elemente bereinigt, kann CleanupDeletedItems regelmäßig aufgerufen werden, z. B. bei jeder Ausführung der Änderungserkennung durch den Anbieter. Die dauerhafte Beibehaltung gelöschter Elemente, die während timeInterval, CleanupDeletedItems als gelöscht markiert wurden, kann zum Schutz des Anbieters vor aufwändigen vollständigen Enumerationen beitragen.

Beim ersten Aufruf von CleanupDeletedItems wird die aktuelle Zeit als Zeitpunkt der letzten erfolgreichen Bereinigung gespeichert und keine weitere Aktion ausgeführt.

Bei jedem weiteren Aufruf von CleanupDeletedItems führt die Methode die folgenden Schritte aus:

  1. Sie vergleicht die aktuelle Zeit mit der Zeit der letzten erfolgreichen Bereinigung. Wenn weniger Zeit verstrichen ist, als durch timeInterval angegeben, wird keine weitere Aktion ausgeführt und false zurückgegeben.

  2. Sie entfernt alle gelöschten Elemente, die vor der letzten erfolgreichen Bereinigung gelöscht wurden.

  3. Sie speichert die aktuelle Zeit als Zeitpunkt der letzten erfolgreichen Bereinigung.

  4. Sie aktualisiert das vergessene Wissen mit den gelöschten Elementen, die entfernt wurden.

Beachten Sie, dass CleanupDeletedItems nur Elemente bereinigt, die vor der letzten erfolgreichen Bereinigung als gelöscht markiert wurden, und keine Elemente, die seit der letzten erfolgreichen Bereinigung als gelöscht markiert wurden. Beispiels bereinigt CleanupDeletedItems Elemente erfolgreich und speichert die aktuelle Zeit. Nach 24 Tagen wird CleanupDeletedItems erneut aufgerufen, wobei für timeInterval 20 Tage angegeben ist. CleanupDeletedItems entfernt nur gelöschte Elemente, die älter als 24 Tage sind, da die letzte erfolgreiche Bereinigung vor 24 Tagen ausgeführt wurde. Elemente, die in dem Zeitraum zwischen den 24 verstrichenen Tagen und den 20 verstrichenen Tagen als gelöscht markiert wurden, z. B. vor 22 Tagen, werden nicht entfernt. Gelöschte Elemente, die weniger als 20 Tage alt sind, werden ebenfalls nicht entfernt.

Hinweis

Die Angabe des Werts 0 für timeInterval ist ein Sonderfall, der zur Folge hat, dass alle gelöschten Elemente aus dem Metadatenspeicher entfernt werden. Dies sollte nur geschehen, wenn ein Anbieter über ausreichende Gewissheit verfügt, dass alle anderen Replikate in der Synchronisierungscommunity miteinander synchronisiert sind, da ein zu offensives Entfernen gelöschter Elemente dazu führen kann, dass Sync Framework eine vollständige Enumeration durchführt.

Siehe auch

Verweis

ReplicaMetadata-Klasse
ReplicaMetadata-Member
Microsoft.Synchronization.MetadataStorage-Namespace