2008-10-03 7 views
3

J'utilise ASP.NET, avec l'état de session stocké hors processus dans SQL Server. Lorsqu'une demande de page commence, les entiers contenus de la session d'un utilisateur sont extraits de la base de données, désérialisés et envoyés au processus ASP.NET en un seul coup ou sont des objets individuels transférés au processus ASP.NET uniquement si nécessaire ?Est-ce que ASP.NET transfère TOUTES les données de session du serveur SQL au début d'une requête, ou seulement si nécessaire?

Fondamentalement, j'ai une page qui stocke certains gros objets en session, et il est difficile pour mon application de déterminer quand les données peuvent être éliminées. Si les données ne sont extraites de la BD que lorsqu'elle est utilisée, il n'y a pas de problème; Si l'état de la session entière est tronqué à ASP.NET pour chaque demande de page, il se peut que je rencontre un problème de performances.

Répondre

5

Tout est en une seule fois. L'objet de session est recréé à partir du magasin au début de la demande. Il permet à ASP.NET de fonctionner de la même manière quel que soit le magasin sous-jacent.

Vous pouvez trouver les détails sanglants here.