![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| Welcome to Vista Forums we are your forum to discuss Windows Vista x64 and x86 systems. |
| |||||||
![]() |
| | Thread Tools | Display Modes |
| | #1 (permalink) |
| Guest
Posts: n/a
| ERROR at least one changed item being outside of the sync scope ! 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(); } } } |
|
|
| |
| | #2 (permalink) |
| Guest
Posts: n/a
| Re: ERROR at least one changed item being outside of the sync scope ! Hello, It seems that everithing works if the réplica is in the folder containing the data to sync or in a parent folder. if items are in //mypc/Default Store/Krystal and the replica file in //mypc/Default Store/Replica it does not work. Why? Regards. "Jérôme Piquot" <jerome.piquot@wolff.fr> a écrit dans le message de news: uGh%23kQdPGHA.3840@TK2MSFTNGP14.phx.gbl... > 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(); > > } > > } > > } > > |
|
| | #3 (permalink) |
| Guest
Posts: n/a
| Re: ERROR at least one changed item being outside of the sync scope ! "Jérôme Piquot" <jerome.piquot@wolff.fr> wrote in message news:%23NpGPwdPGHA.720@TK2MSFTNGP14.phx.gbl... > Hello, > > It seems that everithing works if the réplica is in the folder containing > the data to sync or in a parent folder. > > if items are in //mypc/Default Store/Krystal and the replica file in > //mypc/Default Store/Replica it does not work. > > Why? [clip] Hi Jérôme, In WinFS Sync we have the concept of a replica. A replica defines some set of items in a WinFS store that can be synchronized in a sync session. In Beta 1, WinFS Sync allows you to create a replica whose scope is defined as all items under some container. So, when you call Replica.Create(myReplicaRoot), where myReplicaRoot is some container of your choosing, you are creating a replica encompassing all items contained under myReplicaRoot. The Replica item you create in WinFS is used by the system to store synchronization metadata associated with that synchronization scope. When you see a Replica item attached to some container in WinFS, you know that container is the root of a synchronization scope. In your case you've created a replica whose scope is all entities under \Replica. So, you can't use this replica to synchronize the items contained in \Krystal as those items are not within the synchronization scope for that replica. If you would like to synchronize items contained in \Krystal, you should create a replica containing those items by supplying the Krystal folder as the first argument to Replica.Create(). You can then use this new replica for your sync. You can refer to the topics under the WinFS Sync node in the WinFS SDK for more details about replicas and synchronization scopes. I hope that helps, Neil -- Neil Padgett [MSFT] npadgett@online.microsoft.com This posting is provided "AS IS" with no warranties, and confers no rights. |
|
| | #4 (permalink) |
| Guest
Posts: n/a
| Re: ERROR at least one changed item being outside of the sync scope ! Thanks for this informations. Regards "Neil Padgett [MSFT]" <npadgett@online.microsoft.com> a écrit dans le message de news: uMQm4NISGHA.4952@TK2MSFTNGP09.phx.gbl... > "Jérôme Piquot" <jerome.piquot@wolff.fr> wrote in message > news:%23NpGPwdPGHA.720@TK2MSFTNGP14.phx.gbl... >> Hello, >> >> It seems that everithing works if the réplica is in the folder containing >> the data to sync or in a parent folder. >> >> if items are in //mypc/Default Store/Krystal and the replica file in >> //mypc/Default Store/Replica it does not work. >> >> Why? > > [clip] > > Hi Jérôme, > > In WinFS Sync we have the concept of a replica. A replica defines some set > of items in a WinFS store that can be synchronized in a sync session. In > Beta 1, WinFS Sync allows you to create a replica whose scope is defined > as all items under some container. So, when you call > Replica.Create(myReplicaRoot), where myReplicaRoot is some container of > your choosing, you are creating a replica encompassing all items contained > under myReplicaRoot. The Replica item you create in WinFS is used by the > system to store synchronization metadata associated with that > synchronization scope. When you see a Replica item attached to some > container in WinFS, you know that container is the root of a > synchronization scope. > > In your case you've created a replica whose scope is all entities under > \Replica. So, you can't use this replica to synchronize the items > contained in \Krystal as those items are not within the synchronization > scope for that replica. If you would like to synchronize items contained > in \Krystal, you should create a replica containing those items by > supplying the Krystal folder as the first argument to Replica.Create(). > You can then use this new replica for your sync. > > You can refer to the topics under the WinFS Sync node in the WinFS SDK for > more details about replicas and synchronization scopes. > > I hope that helps, > Neil > > -- > Neil Padgett [MSFT] > npadgett@online.microsoft.com > This posting is provided "AS IS" with no warranties, and confers no > rights. > |
|
| |
| |