【发布时间】:2011-11-30 11:38:39
【问题描述】:
我正在使用 InProc 会话状态,但出于某种奇怪的原因,当我使用页面方法时,会话变量总是 null。
如果我这样做:
var test = HttpContext.Current.Session["test"];
当我在页面方法上运行时,它什么也没显示,但如果我继续调试并打开另一个页面,它会显示预期的结果。我无法发布应用程序的所有代码,我应该从哪里开始寻找?
web.config 文件如下所示:
<sessionState mode="InProc"/>
谢谢。
【问题讨论】:
-
首先解释一下你在什么上下文中使用上面的代码。这是在某个页面的代码隐藏中吗(我猜是的)-在此之前您是否为“测试”设置了一些值?
-
您是否在使用之前设置了该变量?您是否在农场上运行该 Web 应用程序? InProc 会话状态不适用于这种情况。
-
上面的代码位于页面方法和后面的 2 个不同的 aspx 页面代码中。变量设置为值“testworks?”在母版页中。当我调试 aspx pages 测试保存变量但当我调试 page 方法时,变量为 null。