2010-03-23 4 views
1

Je développe une application web pour laquelle le client veut que nous interrogions le moins possible ses données. Les données proviendront d'une instance Microsoft CRM. Par conséquent, nous avons convenu que les données ne seront interrogées que lorsque cela est nécessaire. Par conséquent, si un internaute souhaite voir une liste de contacts (par exemple), cette liste est récupérée dans un DataTable local. Ensuite, si un nouveau contact est créé sur le site Web, le nouveau contact est envoyé à CRM et ajouté au DataTable local en même temps. De même pour les modifications.Conserver un volume important de données dans Session - Suggestions/alternatives?

Si l'utilisateur regarde à nouveau ses contacts, les données proviendront simplement du DataTable local. Pour le moment, les données locales sont conservées en session, mais je crains que trop de mémoire ne commence à être utilisée. Cependant, le trafic devrait être assez petit, peut-être pas plus de 20 utilisateurs simultanés, donc je ne m'inquiète de rien ou y a-t-il une meilleure façon de suggérer de gérer cela?

Répondre

1

Vous vous inquiétez pour rien. Fondamentalement, c'est une décharge d'extensibilité - stupide desig. MAIS: si vous pouvez lancer 1 Go de mémoire sur le problème, pour 20 utilisateurs, stocker 16 Mo de mémoire n'est pas un problème.

Le problème principal commence lorsque le nombre de personnes augmente et que l'application doit être réécrite.

1
  • 20 utilisateurs simultanés ne sont pas trop nombreux. Les clients «regarde leurs contacts»: Selon la taille de la table «contacts», pourriez-vous envisager de le stocker dans un ensemble de données en mémoire (tous les contacts). Vous pouvez alors filter acc à la clé primaire.
    Alternative à la session: Cache, Application

Cache avec SqlCacheDependency et CacheItemRemovedCallback devrait être une bonne option pour la session.

  • Fichiers XML pour chaque contact client.
+0

Merci, je n'avais pas vraiment considéré votre 2ème point. Je vais regarder dans les volumes de données attendus dans l'environnement en direct. – Fishcake

Questions connexes