Поделиться через


Класс 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. Класс DeleteDetector доступен через свойство ReplicaMetadata.DeleteDetector.

Примечания по наследованию. При наследовании класса DeleteDetector должны быть переопределены следующие члены:

В реализации DeleteDetector для обнаружения удаленных элементов должен применяться следующий алгоритм высокого уровня.

  1. Запомнить все элементы, определенные как активные. Элемент определяется как активный, если его метаданные изменены и сохранены либо если поставщик явным образом определил его как активный.

  2. Любая запись метаданных, не являющаяся активной, должна быть определена как удаленная.

Иерархия наследования

System.Object
  Microsoft.Synchronization.MetadataStorage.DeleteDetector

Многопоточное использование

Все общие статические члены (Shared в Visual Basic) можно использовать в многопоточных операциях. Безопасная многопоточная работа с членами экземпляров типа не гарантируется.

См. также

Справочник

Элементы DeleteDetector
Пространство имен Microsoft.Synchronization.MetadataStorage

Другие ресурсы

Обнаружение удаленных элементов