J
Jérôme Piquot
Hello,
I can't find whats going wrong here!
Regards
The synchronization runtime encountered an error. The changes could not be
saved due to at least one changed item being outside of the sync scope which
is defined by the Replica.
à
System.Storage.Providers.WinFS.Sync.ChangeWriter.ApplyComplexItemChange(WinFSStoreComplexItemList
cciList, Dictionary`2 complexItemList)
à
System.Storage.Providers.WinFS.Sync.WinFSSyncUpdateProcessor.ProcessComplexItem(ChangeWriter
changeWriter, WinFSCreateComplexItemsOperation cciOp)
à
System.Storage.Providers.WinFS.Sync.WinFSSyncUpdateProcessor.ExecuteOperations(List`1
operationList)
à System.Storage.Providers.WinFS.WinFSUpdateProcessor.Process(List`1
pendingChanges)
à
System.Storage.Providers.WinFS.Sync.WinFSSyncUpdateProcessor.Process(List`1
pendingChanges)
à System.Storage.Providers.WinFS.WinFSProvider.SaveChanges(IList`1
pendingChanges, IProviderCache cache)
à System.Storage.StorageContext.SaveChangesCore(List`1 changeList)
à System.Storage.StorageContext.SaveChanges(ChangeSet changeSet)
à System.Storage.StorageContext.SaveChanges()
à System.Storage.Sync.SyncService.SaveContextChanges()
à
Krystal.PreviousVersionAdapter.PreviousVersionSyncAdapter.ReceiveTier(SyncService
syncService, WinFSData winfsData) dans
D:\KrystalFx\WinFS\Adapter\Krystal.PreviousVersionAdapter\PreviousVersionSyncAdapter.cs:ligne
193
-------------------------------------------
private void ReceiveTier(SyncService syncService, WinFSData winfsData)
{
using (TierMapper tierMapper = new
TierMapper((string)Profile.AdapterConfiguration))
{
List<TierMapper.ContactSync> contactList = tierMapper.GetSyncData();
syncService.RemoteKnowledge = syncService.RemotePartnerData as
ReplicaKnowledge;
StorageKey localKey;
Item localObject;
string remoteID;
foreach (TierMapper.ContactSync contactSync in contactList)
{
if (IsCancelled)
break;
remoteID = string.Format("Tier{0}", contactSync.ObjectID);
localKey = syncService.GetLocalKeyForRemoteId(remoteID);
if (localKey != null)
localObject = syncService.Context.GetObjectByKey(localKey) as Item;
else
localObject = null;
if (localObject == null)
{
localObject = tierMapper.TierToContact(contactSync.ObjectID);
localObject.Container = GetItemFolder(localObject);
localObject.SyncHelper.RemoteMetadata.RemoteId = remoteID;
}
else
tierMapper.TierToContact(contactSync.ObjectID, localObject as Contact);
OnProgress(new SyncProgressChangedEventArgs(new ProgressValue(TotalWork,
++WorkDone)));
}
// Save the updated remote knowledge
if (!IsCancelled)
{
syncService.RemotePartnerData = syncService.RemoteKnowledge;
syncService.SaveContextChanges();
}
}
}
I can't find whats going wrong here!
Regards
The synchronization runtime encountered an error. The changes could not be
saved due to at least one changed item being outside of the sync scope which
is defined by the Replica.
à
System.Storage.Providers.WinFS.Sync.ChangeWriter.ApplyComplexItemChange(WinFSStoreComplexItemList
cciList, Dictionary`2 complexItemList)
à
System.Storage.Providers.WinFS.Sync.WinFSSyncUpdateProcessor.ProcessComplexItem(ChangeWriter
changeWriter, WinFSCreateComplexItemsOperation cciOp)
à
System.Storage.Providers.WinFS.Sync.WinFSSyncUpdateProcessor.ExecuteOperations(List`1
operationList)
à System.Storage.Providers.WinFS.WinFSUpdateProcessor.Process(List`1
pendingChanges)
à
System.Storage.Providers.WinFS.Sync.WinFSSyncUpdateProcessor.Process(List`1
pendingChanges)
à System.Storage.Providers.WinFS.WinFSProvider.SaveChanges(IList`1
pendingChanges, IProviderCache cache)
à System.Storage.StorageContext.SaveChangesCore(List`1 changeList)
à System.Storage.StorageContext.SaveChanges(ChangeSet changeSet)
à System.Storage.StorageContext.SaveChanges()
à System.Storage.Sync.SyncService.SaveContextChanges()
à
Krystal.PreviousVersionAdapter.PreviousVersionSyncAdapter.ReceiveTier(SyncService
syncService, WinFSData winfsData) dans
D:\KrystalFx\WinFS\Adapter\Krystal.PreviousVersionAdapter\PreviousVersionSyncAdapter.cs:ligne
193
-------------------------------------------
private void ReceiveTier(SyncService syncService, WinFSData winfsData)
{
using (TierMapper tierMapper = new
TierMapper((string)Profile.AdapterConfiguration))
{
List<TierMapper.ContactSync> contactList = tierMapper.GetSyncData();
syncService.RemoteKnowledge = syncService.RemotePartnerData as
ReplicaKnowledge;
StorageKey localKey;
Item localObject;
string remoteID;
foreach (TierMapper.ContactSync contactSync in contactList)
{
if (IsCancelled)
break;
remoteID = string.Format("Tier{0}", contactSync.ObjectID);
localKey = syncService.GetLocalKeyForRemoteId(remoteID);
if (localKey != null)
localObject = syncService.Context.GetObjectByKey(localKey) as Item;
else
localObject = null;
if (localObject == null)
{
localObject = tierMapper.TierToContact(contactSync.ObjectID);
localObject.Container = GetItemFolder(localObject);
localObject.SyncHelper.RemoteMetadata.RemoteId = remoteID;
}
else
tierMapper.TierToContact(contactSync.ObjectID, localObject as Contact);
OnProgress(new SyncProgressChangedEventArgs(new ProgressValue(TotalWork,
++WorkDone)));
}
// Save the updated remote knowledge
if (!IsCancelled)
{
syncService.RemotePartnerData = syncService.RemoteKnowledge;
syncService.SaveContextChanges();
}
}
}