SimpleSyncProviderDeleteMode 枚举
表示用于指示是否将本地项删除传播到其他副本的选项。
命名空间: Microsoft.Synchronization.SimpleProviders
程序集: Microsoft.Synchronization.SimpleProviders(在 microsoft.synchronization.simpleproviders.dll 中)
语法
声明
Public Enumeration SimpleSyncProviderDeleteMode
用法
Dim instance As SimpleSyncProviderDeleteMode
public enum SimpleSyncProviderDeleteMode
public enum class SimpleSyncProviderDeleteMode
public enum SimpleSyncProviderDeleteMode
public enum SimpleSyncProviderDeleteMode
成员
成员名称 | 说明 | |
---|---|---|
LocalOnly | 从本地存储区删除该项,但不将此删除传播到其他副本。 | |
Normal | 该项从本地存储区删除,并且该删除传播到其他副本。 |
备注
某些同步方案要求能够删除位于本地副本的项并且不将该删除传播到其他副本。例如,一个服务器可能与存储不同销售人员的信息的若干设备同步。每个设备的空间都有限,因此销售人员从设备中删除已完成的旧订单。这些类型的删除不应传播到服务器,因为服务器仍要求此数据。通过简单提供程序,您可以指定数据只应本地删除。要在每个会话的基础上控制删除的行为,请为 SetDeleteMode 方法指定适当的选项。
示例
下面的代码示例指定在同步过程中不应传播删除。
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());
}