【发布时间】:2011-06-07 17:23:44
【问题描述】:
我在 ASP.NET Web 应用程序中遇到一个与会话状态相关的奇怪异常。注意:代码是由第 3 方生成的......
基本上我得到一个 HttpException 的描述:
只有在 enableSessionState 设置为 true 时才能使用会话状态,无论是在配置文件中还是在 Page 指令中。还请确保 System.Web.SessionStateModule 或自定义会话状态模块包含在应用程序配置的 \\ 部分中。
发生故障的代码如下所示:
public class ExtendedWebPage : System.Web.UI.Page
{
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
if (Context.Session != null)
{
if (Session.IsNewSession || Session["UserID"] == null) <--- Errors Here
{
我在 if 语句的测试中遇到了异常,但是当我询问 Context.Session 时它很好。到目前为止,浏览器已经通过了一个很好的登录页面并设置了一些我可以看到 Context.Session 的 Session 变量,但是 this.Session 正在抛出异常。
有什么想法吗?
谢谢,
菲利普
【问题讨论】:
-
我认为这里的问题是 Context.Session 和 Session 不是一回事。
-
我很欣赏 Session 是在 Page 中定义的虚拟属性,但是 Session 属性使用 Context.Session,如果基础字段 _session 为 null,则返回异常。
-
实际的错误信息是什么?
-
嗨 Simon831:错误消息是“会话状态只能在 enableSessionState 设置为 true 时使用,无论是在配置文件中还是在页面指令中。还请确保 System.Web.SessionStateModule或者自定义会话状态模块包含在应用程序配置的 \\ 部分中。”
标签: asp.net session-state