共用方式為


偵測已刪除的項目

中繼資料儲存服務會提供刪除偵測服務,以協助代表不追蹤項目刪除之複寫的提供者。這項服務會判斷哪些項目已從複寫中刪除,以便在中繼資料存放區內將這些項目標示為已刪除。

偵測刪除的演算法

刪除偵測器使用下列高階演算法來偵測已刪除的項目:

  1. 記錄報告成使用中的所有項目。當項目的中繼資料已變更而且已儲存,或者提供者明確將它報告成使用中時,此項目就會報告成使用中。

  2. 任何非使用中的中繼資料項目都報告成已刪除。

  3. 提供者會列舉非使用中中繼資料項目,並標示為已刪除。

使用 Managed 程式碼偵測刪除

刪除偵測器可以透過 ReplicaMetadata 物件的 DeleteDetector 屬性存取。

若要重設新偵測通過的刪除偵測器,請呼叫 MarkAllItemsUnreported

作用中中繼資料項目會在項目已變更後使用 SaveItemMetadata 儲存時,針對該項目隱含存在。即使未進行變更,項目也可以呼叫 ReportLiveItemById,明確地保持為作用中。

透過呼叫 FindUnreportedItems,可取得目前偵測為已刪除的項目清單。此清單中的項目必須使用 MarkAsDeleted,在中繼資料存放區內標示為已刪除。

使用 Unmanaged 程式碼偵測刪除

刪除偵測器是屬於 IReplicaMetadata 物件的一部分。

若要重設新偵測通過的刪除偵測器,請呼叫 IReplicaMetadata::ResetReportingWatermark

作用中中繼資料項目會在項目已變更後使用 IReplicaMetadata::SaveItemMetadata 儲存時,針對該項目隱含存在。即使未進行變更,項目也可以呼叫 IReplicaMetadata::ReportLiveItemByGlobalId,明確地保持為作用中。

透過呼叫 IReplicaMetadata::GetUnreportedItems,可取得目前偵測為已刪除的項目清單。此清單中的項目必須使用 IItemMetadata::MarkAsDeleted,在中繼資料存放區內標示為已刪除。

請參閱

參考

IReplicaMetadata 介面
ReplicaMetadata
DeleteDetector

其他資源

Sync Framework Metadata Storage Service