【问题标题】:Session state enableSessionState issues in asp.net applicationasp.net 应用程序中的会话状态 enableSessionState 问题
【发布时间】:2011-12-12 08:26:36
【问题描述】:

生产环境出现如下错误

会话状态只能在 enableSessionState 设置为 true 时使用,无论是在配置文件中还是在 Page 指令中。还请确保 System.Web.SessionStateModule 或自定义会话状态模块包含在应用程序配置的 configuration\system.web\httpModules 部分中。

目前我尝试过的以下事情

  • 检查了machine.configweb.config,两者都有enableSessionState="true"
  • enableSessionState="true" 添加到web.config 中的页面
  • <httpmodules>部分也添加了状态模块
  • 甚至尝试在页面指令中设置enableSessionState="true"

注意:当我尝试在 Dev 环境中调试代码时,一切正常。

谁能帮我解决这个问题,我就是想不出办法。

【问题讨论】:

  • 我也面临同样的问题,能否请您提供您的 web.config 文件的快照。这对面临同样问题的用户非常有帮助。
  • 对不起哥们,我已经很久没有构建这个应用程序了,所以我现在没有配置文件

标签: asp.net web-config session-state httpmodule


【解决方案1】:

您的会话状态配置是什么样的?您可能希望设置为使用 inproc 会话处理。

http://msdn.microsoft.com/en-us/library/ms178586.aspx

【讨论】:

  • 天哪,你真是救命啊.. 我的配置中没有 <SessionState> 模块。添加它并且错误消失了。非常感谢这个链接
【解决方案2】:

我知道这是迟到的回应,但我只想补充一下我是如何解决同样问题的。

首先我要强调的是,我使用的是 Web 表单,而不是 MVC - 这可能不适用于 MVC。

我创建了一个包含类 ContactUser 的 Web 表单,并创建了自己的构造函数,因此它看起来像:

public ContactUser(String to, bool isUser) { ... }

在此我尝试访问会话变量:

String user = Session["username"]

事实证明,您不能在类的构造函数中使用会话状态,但您可以在您编写的其他函数和 protected void Page_Load(object sender , EventArgs e) 过程。因此,一旦我将会话状态从构造函数移到页面加载过程中,一切正常:)!

希望这可以帮助遇到同样问题的任何人:D!

【讨论】:

    猜你喜欢
    • 2010-10-23
    • 2013-05-31
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-21
    • 2012-08-23
    • 1970-01-01
    相关资源
    最近更新 更多