会话状态在此上下文中不可用 - 在Global.asax中

时间:2012-11-09 21:25:12

标签: session state global-asax

我收到的'会话状态在此上下文中不可用'错误。

enter image description here

错误嵌套在Global.asax文件中的许多方法的sender参数中:

  • 的Application_BeginRequest
  • Application_AuthenticateRequest
  • 在session_start
  • 的Application_Error

错误发生在第一页加载(以及之后的所有页面加载)。

我在项目中添加了一个全新的空页WebForm1.aspx,并将其作为我的起始页。

您认为空白页上没有任何问题。在加载空白页面时,根据我的意见,没有执行我的代码。但我仍然遇到会话状态错误。

我的项目完全正常。没有显示错误页面。任何时候都没有不正确的行为。

但是这个会话错误出现在我当前项目的sender参数中的事实让我感到困惑。在空白的新项目中生成此错误

我当前项目中可能导致此错误的原因是什么?

如何追踪错误发生的位置?我无法在ASP.NET代码中设置引擎的断点。或者我可以吗?

这是我的会话配置:

<pages enableSessionState="true" />
<sessionState mode="InProc" cookieless="false" timeout="20" />

更新

我刚发现一个全新的空白项目在发件人对象中也有此错误。它在Application_BeginRequest和Application_AuthenticateRequest方法中可见。但是空白项目没有生成Application_Error事件,就像我的其他项目一样。

2 个答案:

答案 0 :(得分:23)

您在周期中过早地请求会话状态。您需要在 Application_AcquireRequestState

中执行此操作

答案 1 :(得分:4)

“如果一棵树落在森林里,周围没有人听到它,它会发出声音吗?”

不要在会话属性不可用时观看它。

相关问题