2011-01-07 4 views
0

Je cherche un exemple d'utilisation des nouvelles méthodes d'enregistrement et de restauration de DataServiceState dans une application WP7 afin de supprimer un datacontext - je ne trouve aucun exemple et l'approche J'ai utilisé donné lieu à une exceptionwp7 odata v2 dataservicestate sauvegarder et restaurer les méthodes exemple de tombstoning nécessaire

cela permet d'économiser le contexte de données correctement

PhoneApplicationService.Current.State["DataContext"] = DataServiceState.Save(this.Model.Entities); 

cette tente de restaurer après l'application est réactivé

var dc = (PhoneApplicationService.Current.State["DataContext"] as DataServiceState).Restore(); 

mais jette une exception

An item could not be added to the collection. When items in a DataServiceCollection are tracked by the DataServiceContext, new items cannot be added before items have been loaded into the collection. 

C'est la même exception que je reçois si j'essaie de recharger un datacontext que je Stored « directement » (sans utiliser la méthode DataServiceState.Save) dans le PhoneApplicationService.Current.State. Je ne trouve aucune documentation officielle sur la nouvelle classe ou les exemples ODATA v2 DataServiceState.

grâce Michael

Répondre

1

Je cherche un exemple de la façon d'utiliser la nouvelle DataServiceState Enregistrer et méthodes de restauration dans une application WP7 pour une pierre tombale datacontext

Etes-vous sûr? First link - en bas de la page.

0

Le stockage et la récupération de datacontext sont difficiles en raison de problèmes de sérialisation et de référence d'objet. L'équipe MSFT travaille à l'amélioration de DataServiceState. J'ai réussi à sauvegarder et restaurer le contexte dans une application WP7, en stockant le DataServiceState retourné par Save() dans l'état de l'application (comme vous l'avez fait). Ensuite, lors de l'activation, j'instancie d'abord mon DataServiceClient (qui contient le contexte et le DataServiceCollection), puis j'appelle une méthode RestoreData dans le client et lui passe le DataServiceState récupéré. La méthode restaure le contexte et DSC dans le DataServiceClient.

+0

En quoi votre réponse est-elle différente de ce que le demandeur a fait? Si vous regardez le code, il semble que la question originale suit les étapes exactes que vous avez décrites. Envisagez d'ajouter plus de détails pour répondre à la question. – Anthill

Questions connexes