Поделиться через


Метод ReplicaMetadata.CleanupDeletedItems

При переопределении в производном классе удаляет элементы, которые помечены как удаленные и созданы раньше последней успешной очистки.

Пространство имен: Microsoft.Synchronization.MetadataStorage
Сборка: Microsoft.Synchronization.MetadataStorage (в microsoft.synchronization.metadatastorage.dll)

Синтаксис

'Декларация
Public MustOverride Function CleanupDeletedItems ( _
    timeInterval As TimeSpan _
) As Boolean
'Применение
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

Параметры

  • timeInterval
    Минимальный возраст удаленных элементов, которые должны храниться в хранилище метаданных. Значение 0 означает, что производится моментальная очистка всех удаленных элементов.

Возвращаемое значение

Возвращает значение true, если очистка была выполнена. В противном случае возвращает значение false.

Исключения

Тип исключения Условие

ObjectDisposedException

Объект удален или неправильно инициализирован.

Замечания

Этот метод помогает поставщику очищать удаленные элементы по расписанию. Интервал времени, заданный параметром timeInterval, является минимальным сроком, в течение которого удаленные элементы хранятся в хранилище метаданных. Поскольку удаленные элементы очищаются только после истечения интервала, указываемого параметром timeInterval, метод CleanupDeletedItems можно вызывать регулярно, например при каждом обнаружении изменений поставщиком. Если всегда сохранять удаленные элементы, помеченные как удаленные во время интервала timeInterval, то метод CleanupDeletedItems поможет поставщику избежать ресурсоемких полных перечислений.

Во время первого вызова метода CleanupDeletedItems он сохраняет текущее время как время последней успешной очистки и не предпринимает никаких других действий.

При каждом успешном вызове метода CleanupDeletedItems он выполняет следующие шаги.

  1. Сравнивает текущее время со временем последней успешной очистки. Если истекшее время меньше интервала, указываемого параметром timeInterval, то никакие другие действия не предпринимаются и возвращается значение false.

  2. Окончательно удаляет все удаленные элементы, возраст которых превышает время выполнения последней успешной очистки.

  3. Сохраняет текущее время как время последней успешной очистки.

  4. Обновляет утраченный набор знаний таким образом, чтобы он отражал окончательно удаленные элементы.

Помните, что метод CleanupDeletedItems очищает только те элементы, которые были помечены как удаленные перед последней успешной очисткой, но не те элементы, которые были помечены как удаленные после этого времени. Например, метод CleanupDeletedItems успешно очищает элементы и сохраняет текущее время. Двадцать четыре дня спустя метод CleanupDeletedItems заново вызывается с интервалом timeInterval в 20 дней. Метод CleanupDeletedItems окончательно удаляет только те удаленные элементы, возраст которых более 24 дней, потому что именно тогда была выполнена последняя успешная очистка. Элемент, помеченный как удаленный от 20 до 24 дней назад (например, 22 дня), не будет окончательно удален. Любой удаленный элемент, возраст которого составляет менее 20 дней, также не будет окончательно удален.

NoteПримечание.

Если указать для параметра timeInterval значение 0, то все удаленные элементы будут окончательно удалены из хранилища метаданных. Это следует делать только в том случае, если поставщик имеет достаточную уверенность в том, что остальные реплики в сообществе синхронизации синхронизованы друг с другом, так как радикальное окончательное удаление элементов может привести к тому, что Sync Framework придется выполнить полное перечисление.

См. также

Справочник

Класс ReplicaMetadata
Элементы ReplicaMetadata
Пространство имен Microsoft.Synchronization.MetadataStorage