如何在ASP.Net中从Base类访问Session vars?

Tom*_*ter 2 c# asp.net session session-variables

关于asp.net中的Sessions,我遇到了这个问题.我正在创建一个ASP.Net Web应用程序.我创建了一个名为BasePage的类,它继承自System.Web.Ui.Page.这个BasePage类是一个System.Web.Ui.Page,其中有一个名为ActiveUser的附加成员,类型为ActiveUser(我自己创建的一个类).在BasePage的构造函数中,我将成员ui设置为this.ui = (ActiveUser)Session["ActiveUser"],这是先前设置的会话var.但是,当我运行我的项目时,我得到一个HttpException在BasePage的构造函数this.ui = Session["ActiveUser"].它告诉我检查配置文件中的enableSessionState是否设置为true,我已经检查过它.有没有人对如何解决这个问题有什么看法?非常感谢.感谢名单!

Kel*_*sey 6

只是好奇为什么要在基页构造函数中保存它?

您不应该从构造函数访问会话,而是使用Page_Init.请看以下帖子:

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

在实现页面功能时,可以随时访问会话变量,那么为什么不创建一个具有获取所有会话数据功能的静态类/方法呢?我不明白为什么你想在你的基类中复制这些数据的存储.

您可能想要查看此主题: ASP.Net Session