共用方式為


DeleteDetector 類別

DeleteDetector 由衍生類別 (Derived Class) 所實作時,會判斷哪些項目已從複寫中刪除。這些項目必須在中繼資料 (Metadata) 存放區內標示為已刪除。

命名空間: Microsoft.Synchronization.MetadataStorage
組件: Microsoft.Synchronization.MetadataStorage (在 microsoft.synchronization.metadatastorage.dll)

語法

'宣告
Public MustInherit Class DeleteDetector
'用途
Dim instance As DeleteDetector
public abstract class DeleteDetector
public ref class DeleteDetector abstract
public abstract class DeleteDetector
public abstract class DeleteDetector

備註

這個類別可在提供者的存放區不會追蹤刪除時,幫助提供者執行中繼資料維護。

若要擷取偵測為已從存放區刪除之所有項目的清單,請呼叫 FindUnreportedItems。然後可以列舉此清單,而且每一個項目都會在中繼資料存放區內標示為已刪除。這應該在開始同步處理工作階段之前完成,以確保中繼資料是最新的。

當項目已變更,然後呼叫 ReplicaMetadata.SaveItemMetadata 來儲存已變更的項目,或是針對未變更但仍為使用中的項目呼叫了 ReportLiveItemByIndexedFieldReportLiveItemByIndexedFields 時,項目就會有使用中的中繼資料項目存在。請注意,針對未變更的項目呼叫 ReplicaMetadata.SaveItemMetadata 並不會將該項目標示為使用中。

呼叫 MarkAllItemsUnreported 會重設刪除偵測器,以便將來通過偵測。

若要使用此類別的中繼資料儲存服務實作,請使用 SqlMetadataStore 來建立或開啟 ReplicaMetadata 類別。DeleteDetector 可透過 ReplicaMetadata.DeleteDetector 來存取。

繼承者注意事項: 當您從 DeleteDetector 繼承時,您必須覆寫下列成員:

若要偵測已刪除的項目,DeleteDetector 的實作必須使用下列高層級的演算法:

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

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

繼承階層

System.Object
  Microsoft.Synchronization.MetadataStorage.DeleteDetector

執行緒安全性

任何公用靜態 (共用 在 Visual Basic) 此型別的成員具備執行緒安全。不保證任何執行個體成員安全執行緒。

請參閱

參考

DeleteDetector 成員
Microsoft.Synchronization.MetadataStorage 命名空間

概念

偵測已刪除的項目