Nous avons un client intelligent qui parle à une base de données SQL Server via WCF, affichant les entités dans la base de données, et permettant à l'utilisateur de modifier ces entités.Mise en cache à l'écriture de grands ensembles de données dans WCF?
Certains des appels WCF renvoient un grand ensemble de données. Étant donné que cet ensemble de données ne change pas très souvent, je considère une sorte de cache à écriture immédiate sur le client, et seulement obtenir les deltas du service WCF. C'est-à-dire que le client lit le service et écrit dans le service.
Je ne suis pas à la recherche de fonctionnement déconnecté/hors ligne, mais comme la plupart des données ne changent pas très souvent, je l'implémenterais probablement avec un magasin de données local. Je ne veux pas que le magasin local devienne obsolète, et je ne pense pas que je suis trop préoccupé par la résolution des conflits, parce que les mises à jour iront toujours directement au service WCF - pensez-y comme une écriture à travers le cache
Microsoft Sync Framework serait-il bon pour cela? Puis-je utiliser un cache SQL-CE local et effectuer les mises à jour via WCF? La fin du service a un backend SQL Server 2005/2008, mais je ne veux pas en parler directement. Est-ce que Sync Framework s'intègre bien avec WCF?
Existe-t-il d'autres solutions? Devrais-je rouler quelque chose moi-même?
Le client modifie également les données. Il pourrait s'agir d'une réplication bidirectionnelle, sauf que - parce que je peux supposer qu'il est toujours connecté - il m'a semblé plus facile de faire une sorte de mise en cache à écriture immédiate. Nous sommes déjà un peu engagés envers la WCF. –
Eh bien, vous pouvez regarder les objets Sync sur WCF, mais je pense qu'il serait plus facile et meilleur pour vous d'écrire une variable du transfert complet que vous mettez en cache qui fournit le datetime ou la version du cache client et vous donne les changements de ce version. Si vous maintenez un journal des modifications de toute façon, ce serait très efficace. – Derek