Je développe une application C# Winform, c'est un client et se connecter au service Web pour obtenir des données. Les données renvoyées par webservice sont un DataTable. Le client l'affichera sur un DataGridView.Stocker les données de cache localement
Mon problème est le suivant: Le client mettra plus de temps à obtenir toutes les données du serveur (le service web n'est pas local avec le client). Je dois donc utiliser un fil pour obtenir des données. Voici mon modèle:
Le client crée un thread pour obtenir des données -> thread complet et envoyer un événement au client -> données d'affichage client sur datagridview sur un formulaire. Cependant, lorsque l'utilisateur ferme le formulaire, l'utilisateur peut ouvrir ce formulaire à un autre moment, et le client doit à nouveau récupérer les données. Cette solution provoquera le client lentement.
Donc, je pense à un cache de données:
client < --- get/ajouter/modifier/supprimer ---> --- obtenir les données du cache/ajouter/modifier/supprimer ---> Serveur (service web)
Veuillez me donner quelques suggestions. Exemple: les données mises en cache doivent être développées dans une autre application qui est la même hôte avec le client? Les données mises en cache sont en cours d'exécution dans le client. Veuillez me donner quelques techniques pour implémenter cette solution.
Si vous avez des exemples, s'il vous plaît donnez-moi.
Merci.
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 dans la vie du client. Je pense que les données de cache doivent être stockées en mémoire. Et lorsque le client veut obtenir des données, il vérifie depuis le cache.
Le cache ASP.NET n'a aucune dépendance à ASP.NET: http://aspalliance.com/1705_A_New_Approach_to_HttpRuntimeCache_Management.all –
Mis à jour. J'ai seulement besoin que les données mises en cache soient disponibles dans la vie du client. Merci. –