Compartilhar via


Método ReplicaMetadata.CleanupDeletedItems

Quando substituído em uma classe derivada, remove itens marcados como excluídos anteriores à última limpeza bem-sucedida.

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

Sintaxe

'Declaração
Public MustOverride Function CleanupDeletedItems ( _
    timeInterval As TimeSpan _
) As Boolean
'Uso
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

Parâmetros

  • timeInterval
    O período mínimo para os itens excluídos serem mantidos no repositório de metadados. Um valor 0 indica que todos os itens excluídos são limpos imediatamente.

Valor de retorno

true se a limpeza foi executada; caso contrário, false.

Exceções

Tipo de exceção Condição

ObjectDisposedException

O objeto foi descartado ou não foi inicializado corretamente.

Comentários

Este método ajuda um provedor a limpar os itens excluídos de acordo com um agendamento programado. O intervalo de tempo especificado por timeInterval é a duração mínima dos itens excluídos que são mantidos no repositório de metadados. Como ele limpa os itens excluídos somente depois de passado o período timeInterval, CleanupDeletedItems pode ser chamado regularmente, por exemplo, sempre que o provedor executa uma detecção de alteração. Sempre manter os itens excluídos que foram marcados como excluídos durante timeInterval, CleanupDeletedItems ajuda a proteger o provedor contra enumerações completas caras.

Na primeira vez que CleanupDeletedItems é chamado, ele armazena a hora atual como a hora da última limpeza bem-sucedida e não executa nenhuma outra ação.

Todas as outras vezes em que CleanupDeletedItems é chamado, ele executa as etapas a seguir.

  1. Verifica a hora atual em relação à hora da última limpeza bem-sucedida. Se o tempo decorrido for inferior a timeInterval, nenhuma ação adicional será executada e será retornado false.

  2. Remove todos os itens excluídos anteriores à hora da última limpeza bem-sucedida.

  3. Salva a hora atual como a hora da última limpeza bem-sucedida.

  4. Atualiza o conhecimento esquecido para refletir os itens excluídos que foram removidos.

Lembre-se de que CleanupDeletedItems só limpa itens que foram marcados como excluídos antes da hora da última limpeza bem-sucedida, e não itens marcados como excluídos posteriormente. Por exemplo, CleanupDeletedItems limpa os itens e armazena a hora atual com êxito. Vinte e quatro dias depois, CleanupDeletedItems é chamado novamente com timeInterval especificado como 20 dias. CleanupDeletedItems remove apenas os itens excluídos antes dos últimos 24 dias, pois esse é o período em que foi executada a última limpeza bem-sucedida. Um item marcado como excluído entre 24 e 20 dias antes, por exemplo, 22 dias antes, não será removido. Qualquer item excluído em um período inferior a 20 dias também não será removido.

Dica

A especificação de um valor 0 para timeInterval é uma situação especial que faz com que todos os itens excluídos sejam removidos do repositório de metadados. Isso só deve ocorrer quando um provedor tem razoável certeza de que todas as outras réplicas na comunidade de sincronização estão mutuamente sincronizadas, pois a remoção de itens excluídos de forma muito agressiva pode fazer com que o Sync Framework execute uma enumeração completa.

Consulte também

Referência

Classe ReplicaMetadata
Membros ReplicaMetadata
Namespace Microsoft.Synchronization.MetadataStorage