偵測已刪除的項目
中繼資料儲存服務會提供刪除偵測服務,以協助代表不追蹤項目刪除之複寫的提供者。這項服務會判斷哪些項目已從複寫中刪除,以便在中繼資料存放區內將這些項目標示為已刪除。
偵測刪除的演算法
刪除偵測器使用下列高階演算法來偵測已刪除的項目:
記錄報告成使用中的所有項目。當項目的中繼資料已變更而且已儲存,或者提供者明確將它報告成使用中時,此項目就會報告成使用中。
任何非使用中的中繼資料項目都報告成已刪除。
提供者會列舉非使用中中繼資料項目,並標示為已刪除。
使用 Managed 程式碼偵測刪除
刪除偵測器可以透過 ReplicaMetadata 物件的 DeleteDetector 屬性存取。
若要重設新偵測通過的刪除偵測器,請呼叫 MarkAllItemsUnreported。
作用中中繼資料項目會在項目已變更後使用 SaveItemMetadata 儲存時,針對該項目隱含存在。即使未進行變更,項目也可以呼叫 ReportLiveItemById,明確地保持為作用中。
透過呼叫 FindUnreportedItems,可取得目前偵測為已刪除的項目清單。此清單中的項目必須使用 MarkAsDeleted,在中繼資料存放區內標示為已刪除。
使用 Unmanaged 程式碼偵測刪除
刪除偵測器是屬於 IReplicaMetadata 物件的一部分。
若要重設新偵測通過的刪除偵測器,請呼叫 IReplicaMetadata::ResetReportingWatermark。
作用中中繼資料項目會在項目已變更後使用 IReplicaMetadata::SaveItemMetadata 儲存時,針對該項目隱含存在。即使未進行變更,項目也可以呼叫 IReplicaMetadata::ReportLiveItemByGlobalId,明確地保持為作用中。
透過呼叫 IReplicaMetadata::GetUnreportedItems,可取得目前偵測為已刪除的項目清單。此清單中的項目必須使用 IItemMetadata::MarkAsDeleted,在中繼資料存放區內標示為已刪除。
請參閱
參考
IReplicaMetadata 介面
ReplicaMetadata
DeleteDetector