登录后ASP .NET会话是否重置?

时间:2011-06-09 13:00:55

标签: asp.net session asp.net-session

修改

这个问题似乎奇怪地消失了。我的环境一定有点时髦。我投票决定关闭这个问题。


当用户登录时,我使用登录页面代码隐藏中的一堆数据来扩充会话。然后,我将用户重定向到应用程序中的其他页面。我还有一些会话恢复逻辑,当用户的会话到期时,它会根据身份验证票据重新膨胀会话。

似乎正在发生的事情是我用登录页面上的一堆数据来膨胀用户的会话,然后重定向它们,并且我重定向它们的页面的请求似乎没有会话,所以应用程序必须重新充气。我不明白这一点 - 我查看了cookie并且会话ID没有改变,我没有在代码中的任何地方重置会话数据。这是一个ASP .NET'feauture'吗?我正在使用ASP .NET 4.0。

修改

澄清:在登录请求期间(甚至在登录按钮上点击)会话被夸大了。在下一个请求期间,会话不再显示,因此我最终不得不重新充气会话。在此之后用户提出的任何请求,会话似乎“坚持”,并且我为后续请求提供了适当的膨胀会话。

1 个答案:

答案 0 :(得分:1)

要回答您的问题SessionState数据与登录/退出无关。

有几个原因导致数据可能会从SessionState“消失”。

  • 如果您在Web场中使用InProc SessionState,则用户可能会在服务器场中的其他计算机上提供后续请求。
  • SessionState可以清除它是否过满(如缓存)。
  • 如果您使用的是自定义SessionStateStoreProvider,则可能无法正确保存/检索SessionState