Stocker les données en cache localement

Je développe en C# Winform application, c'est un client et se connecter au web service pour obtenir les données. Les données renvoyées par le service web est une DataTable. Client de les afficher sur un DataGridView.

Mon problème est que: le Client devra prendre plus de temps pour obtenir toutes les données à partir du serveur (web service n'est pas local avec le client). Donc, je dois utiliser un thread pour obtenir des données. C'est mon modèle:

Client de créer un thread pour obtenir des données -> fil remplir et envoyer à l'événement de client -> client affichage des données sur datagridview sur un formulaire.

Cependant, lorsque l'utilisateur ferme le formulaire, l'utilisateur peut ouvrir le formulaire dans un autre temps, et le client doit obtenir les données à nouveau. Cette solution permet au client lentement.

Donc, je pense à une mise en cache de données:

Client <---get/ajouter/modifier/supprimer---> les Données mises en Cache ---get/ajouter/modifier/supprimer--->Serveur (web service)

Merci de me donner quelques suggestions.
Exemple: mise en cache des données devrait être développé dans une autre application qui est la même hôte avec le client? Ou de mise en cache de données est en cours d'exécution dans le client.
Merci de me donner quelques techniques pour mettre en œuvre cette solution.

Si vous avez des exemples, veuillez me donner.

Grâce.

Mise à JOUR : Bonjour tout le monde, peut-être que vous pensez que mon problème jusqu'à présent. Je veux seulement mettre en cache des données du client à vie. Je pense que le cache de données doivent être stockées dans la mémoire. Et lorsque le client souhaite obtenir des données, il va vérifier à partir du cache.

L'ASP.NET Cache a pas de dépendance sur ASP.NET: aspalliance.com/...
Mis à jour. J'ai seulement besoin de la mise en cache de données est disponible dans le client de sa vie. Merci.

OriginalL'auteur Leo Vo | 2010-06-15