Freigeben über


SimpleSyncProviderDeleteMode-Enumeration

Stellt die Optionen für die Weitergabe einer lokalen Elementlöschung zu anderen Replikaten dar.

Namespace: Microsoft.Synchronization.SimpleProviders
Assembly: Microsoft.Synchronization.SimpleProviders (in microsoft.synchronization.simpleproviders.dll)

Syntax

'Declaration
Public Enumeration SimpleSyncProviderDeleteMode
'Usage
Dim instance As SimpleSyncProviderDeleteMode
public enum SimpleSyncProviderDeleteMode
public enum class SimpleSyncProviderDeleteMode
public enum SimpleSyncProviderDeleteMode
public enum SimpleSyncProviderDeleteMode

Member

  Membername Beschreibung
LocalOnly Das Element wird aus dem lokalen Speicher gelöscht, aber die Löschung wird nicht an andere Replikate weitergegeben. 
Normal Das Element wird aus dem lokalen Speicher gelöscht, und die Löschung wird an andere Replikate weitergegeben. 

Hinweise

Einige Synchronisierungsszenarien erfordern die Möglichkeit, ein Element auf einem lokalen Replikat zu löschen, ohne diese Löschung an andere Replikate weiterzugeben. Beispielsweise könnte ein Server mit mehreren Geräten synchronisiert werden, auf denen Informationen für verschiedene Vertriebsmitarbeiter gespeichert werden. Jedes Gerät verfügt nur über beschränkten Speicherplatz, sodass die Vertriebsmitarbeiter alte, abgeschlossene Aufträge auf dem Gerät löschen. Diese Arten von Löschungen sollen nicht zum Server weitergegeben werden, da die entsprechenden Daten dort weiterhin benötigt werden. Bei einfachen Anbietern können Sie angeben, dass die Daten nur lokal gelöscht werden sollen. Um das Verhalten von Löschungen für die jeweilige Sitzung zu steuern, geben Sie die entsprechende Option für die SetDeleteMode-Methode an.

Beispiel

Im folgenden Codebeispiel wird festgelegt, dass Löschungen während der Synchronisierung nicht weitergegeben werden sollen.

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()); 
} 

Siehe auch

Verweis

Microsoft.Synchronization.SimpleProviders-Namespace