C# 假设上下文处理程序为IRequiresessionState或IReadOnlySessionState,会话可访问的第一个global.asax事件是什么?

C# 假设上下文处理程序为IRequiresessionState或IReadOnlySessionState,会话可访问的第一个global.asax事件是什么?,c#,asp.net,C#,Asp.net,我的应用程序有时会在global.asax的应用程序\u OnPostAuthenticateRequest事件中调用Server.Transfer,以充当某种url重新连接。发生这种情况时,我需要访问会话我会得到一个HttpException:“只有当enableSessionState设置为true时,才能使用会话状态…”我假设发生这种情况是因为调用Server.Transfer的事件。这就是我得到例外的原因吗?何时应执行传输?在之前发生,并且会话状态应仅在引发此事件后可用,因此如果需要访问

我的应用程序有时会在global.asax的
应用程序\u OnPostAuthenticateRequest
事件中调用
Server.Transfer
,以充当某种url重新连接。发生这种情况时,我需要访问
会话
我会得到一个HttpException:“只有当enableSessionState设置为true时,才能使用会话状态…”我假设发生这种情况是因为调用
Server.Transfer的事件。这就是我得到例外的原因吗?何时应执行传输?

在之前发生,并且会话状态应仅在引发此事件后可用,因此如果需要访问请求的会话状态,则需要等待该事件

请参阅作为参考

  • 引发PostAuthenticateRequest事件
  • 引发AcquisiteRequestState事件

  • 我认为session变量在执行session_StartYes之后是可用的,但是它在后续请求的所有事件中都是可访问的吗?仅供参考,我认为我在这里走错了方向,因为我尝试了几个不同的项目,我得到了相同的例外。另外,我只在需要调用Server.Transfer.thankforthereference时才得到它,但无论何时调用Server.Transfer,我仍然会得到异常。是否因为/blog/someentry根本不加载处理程序而没有会话?