【问题标题】:Unable to access Session State from class?无法从课堂访问会话状态?
【发布时间】:2014-02-07 18:05:07
【问题描述】:

我有一个动态数据应用程序,我添加了一个用于扩展 EDM 的类。一切都很好,但现在我正在尝试将实体属性值设置为等于会话状态中的值 - 并且它无法识别会话命令。我正在尝试做这样的事情:

audit.action_by = CStr(Session("person_name"))

我认为这是因为我没有继承页面类,但如果我添加继承页面它会破坏其他内容。如何让该类包含直接利用会话而不继承 Page 的能力?

【问题讨论】:

    标签: asp.net vb.net session-state


    【解决方案1】:

    试试这样:

    HttpContext.Current.Session("person_name")
    

    【讨论】:

    • 确保您首先测试HttpContext.Current 以获得null。我不确定该类是如何使用的,但如果它曾在请求/响应范围之外使用,则上下文可能为空。
    【解决方案2】:

    PageUserControl 类的 Session 属性只是 HttpContext.Current.Session 的快捷方式。

    【讨论】:

      【解决方案3】:

      如果 HttpContext.Current.Session 不工作,那么像这样使用 System.Web.HttpContext.Current.Session

      【讨论】: