2009-10-04 12 views
2

J'ai rencontré un problème avec Sessions dans asp.net. Je crée une application Web ASP.Net. J'ai créé une classe appelée BasePage qui hérite de System.Web.Ui.Page. Cette classe BasePage est une System.Web.Ui.Page avec un membre supplémentaire appelé ActiveUser de type ActiveUser (une classe que j'ai créée moi-même). Dans le constructeur de BasePage, je mets le membre ui à this.ui = (ActiveUser)Session["ActiveUser"], qui est une variable de session précédemment définie. Cependant, lorsque je lance mon projet, j'obtiens un HttpException dans le constructeur de BasePage au this.ui = Session["ActiveUser"]. Il me dit de vérifier cependant enableSessionState est mis à true dans le fichier de configuration, que j'ai vérifié qu'il est. Est-ce que quelqu'un a des idées sur la façon de résoudre celui-ci? Ce serait très apprécié. Merci!Comment accéder aux variables de session à partir de la classe Base dans ASP.Net?

Répondre

6

Juste curieux, pourquoi enregistrez-vous cela dans le constructeur de la page de base?

Vous ne devez pas accéder à la session à partir du constructeur, mais au contraire à partir de Page_Init. Voir le post suivant:

http://weblogs.asp.net/anasghanem/archive/2008/05/07/avoid-using-the-session-in-the-page-constructor.aspx

La variable de session sera accessible à tout moment lors de l'implémentation de la fonctionnalité de la page alors pourquoi ne pas créer une classe statique/méthode avec fonctionnalité pour saisir toutes vos données de session? Je ne vois pas pourquoi vous voudriez dupliquer le stockage de ces données dans votre classe de base.

Vous pouvez consulter ce fil: ASP.Net Session

+1

Remerciez est beaucoup pour les conseils. J'ai suivi la proposition de guire sur weblogs.asp.net et cela a fonctionné comme par magie! –

Questions connexes