Condividi tramite


Enumerazione SimpleSyncProviderDeleteMode

Rappresenta le opzioni per cui l'eliminazione di un elemento locale viene propagata ad altre repliche.

Spazio dei nomi: Microsoft.Synchronization.SimpleProviders
Assembly: Microsoft.Synchronization.SimpleProviders (in microsoft.synchronization.simpleproviders.dll)

Sintassi

'Dichiarazione
Public Enumeration SimpleSyncProviderDeleteMode
'Utilizzo
Dim instance As SimpleSyncProviderDeleteMode
public enum SimpleSyncProviderDeleteMode
public enum class SimpleSyncProviderDeleteMode
public enum SimpleSyncProviderDeleteMode
public enum SimpleSyncProviderDeleteMode

Membri

  Nome membro Descrizione
LocalOnly L'elemento viene eliminato dall'archivio locale, tuttavia l'eliminazione non viene propagata ad altre repliche. 
Normal L'elemento viene eliminato dall'archivio locale e l'eliminazione viene propagata alle altre repliche. 

Osservazioni

In alcuni scenari di sincronizzazione è richiesta la possibilità di eliminare un elemento in una replica locale senza propagare tale eliminazione ad altre repliche. Ad esempio, un server potrebbe essere sincronizzato con diversi dispositivi in cui sono archiviate informazioni per venditori diversi. Ogni dispositivo dispone di uno spazio limitato, pertanto i venditori eliminano i precedenti ordini completati dal dispositivo. Questi tipi di eliminazioni non devono essere propagati al server, dove tali dati sono ancora necessari. I provider semplici consentono di specificare che i dati devono essere eliminati solo localmente. Per controllare il comportamento delle eliminazioni per ogni singola sessione, specificare l'opzione appropriata per il metodo SetDeleteMode.

Esempio

Nell'esempio di codice seguente viene specificato che le eliminazioni non devono essere propagate durante la sincronizzazione.

public override void EnumerateChanges(byte[] anchor, AnchorEnumerationContext context)
{

    context.SetDeleteMode(SimpleSyncProviderDeleteMode.LocalOnly);
    
    List<LocalItemChange> itemChanges = new List<LocalItemChange>();

    int startIndex = -1;

    if (anchor != null)
    {
        startIndex = _store.Changes.IndexOfKey(BitConverter.ToUInt64(anchor, 0));
    }

    for (int i = startIndex + 1; i < _store.Changes.Count; i++)
    {
        itemChanges.Add(_store.Changes.Values[i]);
    }

    // If the anchor is corrupt or out of date we could revert back to 
    // full enumeration mode for this session, and enumerate all items. 
    // This is done by calling context.ReportItemsAndAutodetectDeletes.
    context.ReportChanges(itemChanges, _store.GetAnchor());
}
public override void EnumerateChanges(byte[] anchor, AnchorEnumerationContext context) 
{ 

context.SetDeleteMode(SimpleSyncProviderDeleteMode.LocalOnly); 

List<LocalItemChange> itemChanges = new List<LocalItemChange>(); 

int startIndex = -1; 

if (anchor != null) 
{ 
startIndex = _store.Changes.IndexOfKey(BitConverter.ToUInt64(anchor, 0)); 
} 

for (int i = startIndex + 1; i < _store.Changes.Count; i++) 
{ 
itemChanges.Add(_store.Changes.Values[i]); 
} 

// If the anchor is corrupt or out of date we could revert back to 
// full enumeration mode for this session, and enumerate all items. 
// This is done by calling context.ReportItemsAndAutodetectDeletes. 
context.ReportChanges(itemChanges, _store.GetAnchor()); 
} 

Vedere anche

Riferimento

Spazio dei nomi Microsoft.Synchronization.SimpleProviders