CleanupDeletedItems Método

Cuando se invalida en una clase derivada, quita los elementos marcados como eliminados y con una antigüedad superior a la última limpieza llevada a cabo correctamente.

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

public abstract bool CleanupDeletedItems(
	TimeSpan timeInterval
)

Parámetros

timeInterval
Tipo: System..::..TimeSpan
Antigüedad mínima de los elementos eliminados para guardarlos en el almacén de metadatos. Un valor de 0 significa que todos los elementos eliminados se limpian inmediatamente.

Valor devuelto

Tipo: System..::..Boolean
true si se realizó la limpieza; en caso contrario, false.

ExcepciónCondición
ObjectDisposedException

El objeto se ha eliminado o no se ha inicializado correctamente.

Este método ayuda a un proveedor a limpiar los elementos eliminados según una programación establecida. El intervalo de tiempo especificado por timeInterval es la antigüedad mínima de los elementos eliminados que se almacenan en el almacén de metadatos. Dado que solo limpia los elementos eliminados cuando ha transcurrido el tiempo indicado en timeInterval, se puede llamar a CleanupDeletedItems a intervalos regulares; por ejemplo, cada vez que el proveedor realiza una detección de cambios. Al conservar siempre los elementos eliminados que se han marcado como eliminados durante el tiempo indicado en timeInterval, CleanupDeletedItems se ayuda a proteger el proveedor frente a enumeraciones completas costosas.

La primera vez que se llama a CleanupDeletedItems, este almacena la hora actual como la hora en la que se ha llevado a cabo la última limpieza correcta y no realiza ninguna otra acción.

A partir de este momento, cada vez que se llama a CleanupDeletedItems, este realiza los pasos siguientes.

  1. Compara la hora actual con la hora en la que se realizó la última limpieza correcta. Si el tiempo transcurrido es menor que el tiempo indicado en timeInterval, no se realiza ninguna otra acción y se devuelve false.

  2. Quita todos los elementos eliminados con una antigüedad superior a la de la última limpieza llevada a cabo correctamente.

  3. Guarda la hora actual como la hora en la que se realizó la última limpieza correcta.

  4. Actualiza el conocimiento olvidado para reflejar los elementos eliminados que se quitaron.

Tenga en cuenta que CleanupDeletedItems solo limpia los elementos que se marcaron como eliminados antes de la última limpieza correcta, y no los elementos que se han marcado como eliminados desde entonces. Por ejemplo, CleanupDeletedItems limpia correctamente los elementos y almacena la hora actual. Veinticuatro días después, se llama de nuevo a CleanupDeletedItems con el valor de timeInterval especificado como 20 días. CleanupDeletedItems solo quita los elementos eliminados con una antigüedad superior a 24 días, ya que fue entonces cuando se llevó a cabo la última limpieza correcta. Los elementos marcados como eliminados con una antigüedad superior a 20 días e inferior a 24 días, por ejemplo 22 días, no se quitarán. Los elementos eliminados con una antigüedad inferior a 20 días tampoco se quitarán.

NotaNota

Especificar un valor de 0 para timeInterval constituye un caso especial que hace que se quiten del almacén de metadatos todos los elementos eliminados. Esto solo se debe hacer cuando un proveedor está razonablemente seguro de que todas las demás réplicas de la comunidad de sincronización están sincronizadas entre sí, ya que quitar los elementos eliminados de una forma demasiado agresiva puede dar lugar a que Sync Framework realice una enumeración completa.

Mostrar: