Classe DeleteDetector
En cas d'implémentation par une classe dérivée, DeleteDetector détermine quels éléments ont été supprimés d'un réplica. Ces éléments doivent être marqués comme supprimés dans le magasin des métadonnées.
Espace de noms: Microsoft.Synchronization.MetadataStorage
Assembly: Microsoft.Synchronization.MetadataStorage (dans microsoft.synchronization.metadatastorage.dll)
Syntaxe
'Déclaration
Public MustInherit Class DeleteDetector
'Utilisation
Dim instance As DeleteDetector
public abstract class DeleteDetector
public ref class DeleteDetector abstract
public abstract class DeleteDetector
public abstract class DeleteDetector
Notes
Cette classe permet à un fournisseur d'effectuer la maintenance des métadonnées lorsque son magasin n'assure pas le suivi des suppressions.
Pour extraire une liste de tous les éléments détectés comme étant supprimés du magasin, appelez FindUnreportedItems. Cette liste peut alors être énumérée, et chaque élément est marqué comme supprimé dans le magasin des métadonnées. Cette opération doit être effectuée préalablement au démarrage de toute session de synchronisation afin de garantir que les métadonnées sont à jour.
Une entrée de métadonnées active existe pour un élément lorsque celui-ci a été modifié et que la méthode ReplicaMetadata.SaveItemMetadata a été appelée pour enregistrer l'élément modifié, ou lorsque la méthode ReportLiveItemByIndexedField ou ReportLiveItemByIndexedFields a été appelée pour un élément inchangé mais toujours actif. Gardez à l'esprit que l'appel de ReplicaMetadata.SaveItemMetadata pour un élément inchangé ne marque pas cet élément comme actif.
Un appel à MarkAllItemsUnreported réinitialise le détecteur de suppressions pour les passes de détection futures.
Pour réaliser l'implémentation du service de stockage des métadonnées de cette classe, utilisez SqlMetadataStore pour créer ou ouvrir une classe ReplicaMetadata. DeleteDetector peut fait l'objet d'un accès via ReplicaMetadata.DeleteDetector.
Remarques à l'attention des héritiers : Lorsque vous héritez de DeleteDetector, vous devez substituer les membres suivants :
FindUnreportedItems
MarkAllItemsUnreported
ReportLiveItemByIndexedField
ReportLiveItemByIndexedFields.
Pour détecter les éléments supprimés, une implémentation de DeleteDetector doit utiliser l'algorithme de haut niveau suivant :
Enregistrez tous les éléments signalés comme actifs. Un élément est marqué comme étant actif quand ses métadonnées sont modifiées et enregistrées ou lorsque le fournisseur le signale explicitement comme actif.
Une entrée de métadonnées qui n'est pas active doit être signalée comme supprimée.
Hiérarchie d'héritage
System.Object
Microsoft.Synchronization.MetadataStorage.DeleteDetector
Sécurité des threads
Tous les membres publics statiques (Partagés en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Voir aussi
Référence
Membres DeleteDetector
Espace de noms Microsoft.Synchronization.MetadataStorage