Condividi tramite


Rilevamento di elementi eliminati

Il servizio di archiviazione dei metadati fornisce un servizio di rilevamento delle eliminazioni a supporto dei provider che rappresentano le repliche che non rilevano le eliminazioni. Questo servizio determina quali elementi sono stati eliminati dalla replica in modo che possano essere contrassegnati come eliminati nell'archivio dei metadati.

Algoritmo per il rilevamento delle eliminazioni

Nel rilevamento delle eliminazioni viene utilizzato il seguente algoritmo di alto livello per il rilevare gli elementi eliminati:

  1. Registra tutti gli elementi segnalati come attivi. Un elemento viene segnalato come attivo quando i relativi metadati vengono modificati e salvati o quando il provider lo segnala come attivo in modo esplicito.

  2. Le voci dei metadati non attive vengono segnalate come eliminate.

  3. Il provider enumera le voci dei metadati inattive e le contrassegna come eliminate.

Rilevamento delle eliminazioni tramite codice gestito

Per accedere al rilevamento delle eliminazioni, utilizzare la proprietà DeleteDetector dell'oggetto ReplicaMetadata.

Per reimpostare il rilevamento delle eliminazioni per un nuovo passaggio di rilevamento, chiamare MarkAllItemsUnreported.

Una voce dei metadati attiva esiste in modo implicito per un elemento quando viene modificata e salvata tramite SaveItemMetadata. Un elemento può essere mantenuto attivo in modo esplicito, anche se non è stato modificato, chiamando ReportLiveItemById.

Ottenere l'elenco degli elementi attualmente rilevati come eliminazioni chiamando FindUnreportedItems. Gli elementi di questo elenco devono essere contrassegnati come eliminati nell'archivio dei metadati tramite MarkAsDeleted.

Rilevamento delle eliminazioni tramite codice non gestito

Il rilevamento delle eliminazione fa parte dell'oggetto IReplicaMetadata.

Per reimpostare il rilevamento delle eliminazioni per un nuovo passaggio di rilevamento, chiamare IReplicaMetadata::ResetReportingWatermark.

Una voce dei metadati attiva esiste in modo implicito per un elemento quando viene modificata e salvata tramite IReplicaMetadata::SaveItemMetadata. Un elemento può essere mantenuto attivo in modo esplicito, anche se non è stato modificato, chiamando IReplicaMetadata::ReportLiveItemByGlobalId.

Ottenere l'elenco degli elementi attualmente rilevati come eliminazioni chiamando IReplicaMetadata::GetUnreportedItems. Gli elementi di questo elenco devono essere contrassegnati come eliminati nell'archivio dei metadati tramite IItemMetadata::MarkAsDeleted.

Vedere anche

Riferimento

Interfaccia IReplicaMetadata
ReplicaMetadata
DeleteDetector

Altre risorse

Servizio di archiviazione dei metadati di Sync Framework