这个问题似乎已经奇怪地消失了。我的环境一定是有些古怪的东西。我正在投票结束这个问题。
当用户登录时,我用来自Login页面代码隐藏的一堆数据给会话充气。然后我将用户重定向到应用程序中的其他页面。我还有一些会话恢复逻辑,当用户的会话过期时,会根据身份验证票据重新加载会话。
似乎在发生的事情是,我用来自登录页面的一堆数据膨胀用户的会话,然后重定向它们,并且我重定向到的页面请求似乎没有会话,所以应用程序必须重新充气。我不明白这一点 - 我查看了Cookie,会话ID没有改变,我也没有在代码中的任何地方重置会话数据。这是一个ASP .NET'feauture'吗?我正在使用ASP .NET 4.0。
编辑:
澄清:登录请求(在点击甚至登录按钮)时的会话被充气。在下一次请求期间,不会显示该会话已经被填充,所以我最终不得不重新膨胀会话。在此之后用户提出的任何请求,会话似乎都会“粘住”,并且我为随后的请求提供适当膨胀的会话。
在页面循环中,您是否在登录时填充会话 - 在按钮中单击?你的所有网页是否位于同一个域名下?你是否启用了会话? – Paddy 2011-06-09 13:03:18
我相信我已经在刚刚提出的问题的版本中解决了您的问题。 – 2011-06-09 14:17:09