다음을 통해 공유


ReplicaMetadata.CleanupDeletedItems 메서드

파생 클래스에서 재정의되면 삭제된 것으로 표시되었으며 마지막 정리 성공 시간보다 오래된 항목을 제거합니다.

네임스페이스: Microsoft.Synchronization.MetadataStorage
어셈블리: microsoft.synchronization.metadatastorage.dll의 Microsoft.Synchronization.MetadataStorage

구문

‘선언
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를 호출하는 등의 방법을 사용할 수 있습니다. CleanupDeletedItems를 수행하면 timeInterval 중에 삭제된 것으로 표시된 삭제된 항목을 항상 보관할 수 있으므로 공급자는 비용이 많이 드는 전체 열거 작업을 수행하지 않아도 됩니다.

CleanupDeletedItems가 처음 호출되면 현재 시간이 마지막 정리 성공 시간으로 저장되고 다른 동작은 수행되지 않습니다.

이후에 CleanupDeletedItems를 호출할 때마다 다음 단계가 수행됩니다.

  1. 마지막 정리 성공 시간과 현재 시간을 비교합니다. 경과된 시간이 timeInterval보다 작으면 더 이상의 동작이 수행되지 않고 false가 반환됩니다.

  2. 마지막 정리 성공 시간보다 오래된 삭제된 항목을 모두 제거합니다.

  3. 현재 시간을 마지막 정리 성공 시간으로 저장합니다.

  4. 삭제된 항목이 제거된 사실을 반영하도록 잊어버린 정보를 업데이트합니다.

CleanupDeletedItems는 마지막 정리 성공 시간 이전에 삭제된 것으로 표시된 항목만 정리하며 마지막 정리 성공 시간 이후에 삭제된 것으로 표시된 항목은 정리하지 않습니다. 예를 들어 CleanupDeletedItems가 성공적으로 항목을 정리하고 현재 시간을 저장했다고 가정합니다. 24일 후 timeInterval을 20일로 지정하여 CleanupDeletedItems를 다시 호출하면 CleanupDeletedItems는 마지막으로 정리에 성공한 24일 전보다 오래된 삭제된 항목만 제거합니다. 22일 전과 같이 24일 전과 20일 전 사이에 삭제된 것으로 표시된 항목은 제거되지 않습니다. 삭제된 지 20일이 되지 않은 항목도 제거되지 않습니다.

참고

timeInterval의 값을 0으로 지정하면 메타데이터 저장소의 삭제된 항목이 모두 제거됩니다. 이 작업은 공급자가 동기화 커뮤니티의 다른 모든 복제본이 서로 동기화되었다고 확신하는 경우에만 수행되어야 합니다. 그 이유는 삭제된 항목을 모두 제거할 경우 Sync Framework가 전체 열거 작업을 수행할 수 있기 때문입니다.

참고 항목

참조

ReplicaMetadata 클래스
ReplicaMetadata 멤버
Microsoft.Synchronization.MetadataStorage 네임스페이스