编辑
这个问题似乎奇怪地消失了。我的环境一定有什么奇怪的地方。我投票结束这个问题。
当用户登录时,我使用来自登录页面代码隐藏的一堆数据来扩充会话。然后我将用户重定向到应用程序中的不同页面。我还有一些会话恢复逻辑,当用户会话过期时,它会根据身份验证票重新膨胀会话。
似乎正在发生的事情是,我用登录页面中的一堆数据膨胀了用户的会话,然后将它们重定向,而我将它们重定向到的页面的请求似乎没有会话,所以应用程序有重新充气。我不明白这一点 - 我查看了 cookie 并且会话 ID 没有更改,并且我没有在代码中的任何位置重置会话数据。这是 ASP .NET 的“功能”吗?我正在使用 ASP .NET 4.0。
编辑:
澄清一下:在登录请求期间会话被夸大了(甚至在登录按钮的点击上)。在下一个请求期间,似乎不再填充会话,因此我最终不得不重新填充会话。用户在此之后提出的任何请求,会话似乎都“坚持”并且我为后续请求提供了适当膨胀的会话。