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:
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.
Le voci dei metadati non attive vengono segnalate come eliminate.
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