2013-04-18 4 views
0

J'utilise beaucoup de contrôles utilisateur ASCX dans mes projets. Ces contrôles utilisent des panneaux de mise à jour pour mettre à jour leur contenu. Pour conserver les données sur les post-retours partiels (c'est-à-dire, lors de la mise à jour du panneau de mise à jour), je stocke toutes les données des contrôles dans une session. Par exemple, je pourrais avoir un contrôle qui utilise un CheckBoxList. Quand un utilisateur vérifie une boîte de la liste, il provoque une publication partielle (pour faire une certaine logique) et le panneau de mise à jour se déclenche. Parce que le panneau est en cours de mise à jour, je perdrais toutes les données entre les publications, sauf que je stocke ces données dans une session. De cette façon, lorsque le contrôle recharge, je peux prendre les données et restaurer la liste de cases à cocher. Mes sessions consistent généralement en des listes d'objets.Utilisation des sessions dans les contrôles utilisateur

Ma question est la suivante: est-ce la meilleure façon de conserver les données? Quels sont les problèmes possibles dont je ne pourrais pas tenir compte? On m'a dit que si plusieurs personnes utilisaient ceci en même temps (étant donné que les listes d'objets sont volumineuses), IIS pourrait manquer de mémoire et tomber en panne.

Merci pour toute aide

Répondre

0

Il est difficile de dire si cela est « la meilleure façon de maintenir les données » pour votre projet particulier. Je peux cependant aborder la partie "problèmes possibles" de votre question.

L'état de la session est stocké en mémoire par défaut, ce qui signifie que vous utiliserez des ressources supplémentaires sur votre serveur. Les variables de session peuvent être créées à la volée et ne nécessitent pas que vous les éliminiez explicitement, ce qui peut entraîner plus de frais généraux. Alors oui, vous avez raison de dire que l'utilisation de sessions pour une grande partie de vos fonctionnalités signifie probablement utiliser plus de ressources (CPU et mémoire). Que ce soit "à court de mémoire et de crash" est une question de la charge par rapport au serveur.

Questions connexes