DeleteDetector 类
通过派生类实现时,DeleteDetector 确定从副本中删除的项。这些项应在元数据存储区中标记为已删除。
命名空间: 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 以保存已变更的项,或者当为未变更但仍活动的项调用 ReportLiveItemByIndexedField 或 ReportLiveItemByIndexedFields 时,将存在该项的活动元数据条目。请注意,为未变更的项调用 ReplicaMetadata.SaveItemMetadata 不会将该项标记为活动。
调用 MarkAllItemsUnreported 会重置删除检测器,以供将来检测传递之用。
若要使用此类的元数据存储服务实现,请使用 SqlMetadataStore 创建或打开一个 ReplicaMetadata 类。可通过 ReplicaMetadata.DeleteDetector 访问 DeleteDetector。
继承者注意事项: 从 DeleteDetector 继承时,必须重写下列成员:
FindUnreportedItems
MarkAllItemsUnreported
ReportLiveItemByIndexedField
ReportLiveItemByIndexedFields.
若要删除已删除项,则 DeleteDetector 的实现必须使用下列高级算法:
记录所有报告为活动的项。当变更并保存了某项的元数据,或提供程序将其显式报告为活动时,该项将报告为活动。
所有不活动的元数据条目应报告为已删除。
继承层次结构
System.Object
Microsoft.Synchronization.MetadataStorage.DeleteDetector
线程安全
此类型的所有公共静态(在 Visual Basic 中共享 )成员都是线程安全的。不保证任何实例成员的线程安全。
请参阅
参考
DeleteDetector 成员
Microsoft.Synchronization.MetadataStorage 命名空间