Detectar los elementos eliminados
Metadata Storage Service proporciona un servicio de detección de eliminaciones para ayudar a los proveedores que representan a las réplicas que no realizan el seguimiento de las eliminaciones de los elementos. Este servicio determina qué elementos se eliminaron de la réplica para que se puedan marcar como eliminados en el almacén de metadatos.
Algoritmo para detectar eliminaciones
El detector de eliminaciones usa el algoritmo de alto nivel siguiente para detectar los elementos eliminados:
Registra todos los elementos que se notifican como activos. Un elemento se notifica como activo cuando sus metadatos se cambian y se guardan, o cuando el proveedor lo notifica explícitamente como activo.
Las entradas de metadatos que no están activas se notifican como eliminadas.
El proveedor enumera las entradas de metadatos inactivos y las marca como eliminadas.
Detectar eliminaciones utilizando código administrado
El acceso al detector de eliminaciones se puede efectuar a través de la propiedad DeleteDetector del objeto ReplicaMetadata.
Para restablecer el detector de eliminaciones para un nuevo paso de detección, llame a MarkAllItemsUnreported.
Una entrada de metadatos activa existe implícitamente para un elemento cuando se ha cambiado y se ha guardado utilizando SaveItemMetadata. Un elemento se puede mantener explícitamente activo, aunque no se cambiara, llamando a ReportLiveItemById.
Obtenga la lista de elementos que se detectan actualmente como eliminaciones llamando a FindUnreportedItems. Los elementos de esta lista se deben marcar como eliminados en el almacén de metadatos utilizando MarkAsDeleted.
Detectar eliminaciones utilizando código no administrado
El detector de eliminaciones forma parte del objeto IReplicaMetadata.
Para restablecer el detector de eliminaciones para un nuevo paso de detección, llame a IReplicaMetadata::ResetReportingWatermark.
Una entrada de metadatos activa existe implícitamente para un elemento cuando se ha cambiado y se ha guardado utilizando IReplicaMetadata::SaveItemMetadata. Un elemento se puede mantener explícitamente activo, aunque no se cambiara, llamando a IReplicaMetadata::ReportLiveItemByGlobalId.
Obtenga la lista de elementos que se detectan actualmente como eliminaciones llamando a IReplicaMetadata::GetUnreportedItems. Los elementos de esta lista se deben marcar como eliminados en el almacén de metadatos utilizando IItemMetadata::MarkAsDeleted.
Vea también
Referencia
Interfaz IReplicaMetadata
ReplicaMetadata
DeleteDetector