2010-10-29 4 views
0

J'ai une couche de données de site Web et une couche d'interface utilisateur basées sur l'architecture à deux niveaux. J'ai une page web, je reçois l'identifiant d'un client de la chaîne de requête et je construis l'objet client à partir de cet identifiant. J'ai plusieurs onglets dans ma page Web, donc, à moins que j'ai besoin des données, je n'ai pas à charger les données pour les grilles qui sont dans les onglets qui ne sont pas cliqués. C'est pourquoi j'utilise l'initialisation Lazy pour les propriétés du client qui ne sont pas requises au chargement de la page. Ma question est, dans le chargement de la page lorsque je crée l'objet client, si j'ajoute l'objet client à la session Session [id] = customerObj, je comprends que customerObj est sérialisé, mais cela signifie-t-il que toutes les propriétés sont paresseux initialisé être chargé? Si c'est le cas, cela va vaincre le but de l'utilisation de l'initialisation paresseuse.Objet avec initialisation paresseuse - ajout à Session ou Viewstate

J'ai essayé de regarder MSDN, mais je n'ai pas pu trouver une bonne explication de la façon dont cette chose est supposée fonctionner. Toutes les entrées sont grandement appréciées. Merci!

Répondre

0

Vous pouvez stocker un objet dans te session de plusieurs façons:

http://msdn.microsoft.com/en-us/library/h6bb9cz9%28VS.71%29.aspx

Si vous stockez l'objet InProc, il reste dans la mémoire vive du serveur Web et il est sérialisé et désérialisé, donc les propriétés ne sont pas touchées.

Ainsi, aucun chargement paresseux n'est déclenché. Votre objet restera le même que vous l'avez laissé lorsque vous le récupérez lors de la prochaine publication.

Questions connexes