Disons que j'ai une liste d'entités (par exemple, une liste d'éléments TODO) que plus d'un utilisateur peut modifier, supprimer et ajouter en même temps. Donc, pour maintenir une liste synchronisée entre tous les clients, je veux que chaque client (basé sur AJAX) demande des changements toutes les xx secondes. Comme la liste peut être très longue, je ne veux pas faire une requête complète à chaque fois, mais seulement demander les éléments modifiés (les éléments peuvent être mis à jour, supprimés ou nouveaux).Comment implémenter "get latests a modifié des éléments" avec ADO.NET Data Services?
Est-ce possible avec ADO.NET Data Services? Si oui, comment l'implémenter, si j'utilise Entity Framework sur le serveur? J'ai envisagé d'utiliser le cache ASP.NETs pour stocker les éléments de modification lorsqu'une opération de modification est soumise au service de données et de disposer d'une méthode Web personnalisée qui renverrait les dernières modifications depuis la dernière requête des clients spécifiques (les demandes pouvaient être suivi à travers l'objet de session ASP.NETs clients). Cependant, je n'ai aucune idée de la façon d'indiquer l'état de changement de l'élément individuel (par exemple supprimé ou mis à jour ou inséré) dans le jeu de résultats.
Une excellente solution permettrait également au client de demander des changements dans de nombreuses entités dans le même aller-retour au serveur.
Toute entrée sera très appréciée.
Cordialement, Egil.
Merci pour l'entrée Christopher. Votre idée va certainement fonctionner, mais j'aimerais garder la gestion du changement hors de la base de données, dans mon monde, il est lié au client et pas vraiment pertinent pour les données. –
Peut-être que vous pourriez utiliser fondamentalement le même schéma sans utiliser le DB en mettant en cache le jeu de résultats dans global.asax et en ajoutant le champ de génération etc. au jeu de résultats là. Vous pouvez ensuite mettre en cache le numéro de génération du client dans la session ou dans JS pour obtenir les mises à jour/insertions/suppressions. –
J'ai besoin de stocker mes données dans une base de données, mais si je pouvais en quelque sorte modifier le résultat à la volée, ce serait génial. Je ne sais pas comment EF me permet de faire ça. –