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

Jay*_*Jay 11 session state global-asax

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

在此输入图像描述

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

  • 的Application_BeginRequest
  • Application_AuthenticateRequest
  • 在session_start
  • 应用程序错误

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

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

你认为空页上什么都不会出错.在加载空白页面时,根据我的意见,没有执行我的代码.但我仍然得到会话状态错误.

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

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

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

如何查找错误发生的位置?我不能设置在ASP.NET代码的断点引擎盖下.或者我可以吗?

这是我的会话配置:

<pages enableSessionState="true" />
<sessionState mode="InProc" cookieless="false" timeout="20" />
Run Code Online (Sandbox Code Playgroud)

更新:

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

Emm*_*l N 23

您在周期中过早地请求会话状态.您需要在Application_AcquireRequestState中执行此操作