Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
登录后是否重置ASP.NET会话?_Asp.net_Session_Asp.net Session - Fatal编程技术网

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

登录后是否重置ASP.NET会话?,asp.net,session,asp.net-session,Asp.net,Session,Asp.net Session,编辑 这个问题似乎奇怪地消失了。我的环境一定有点怪怪的。我投票结束这个问题 当用户登录时,我使用登录页面代码中的一组数据来膨胀会话。然后我将用户重定向到应用程序中的另一个页面。我还有一些会话恢复逻辑,当用户的会话过期时,它会根据身份验证票证重新膨胀会话 似乎正在发生的事情是,我使用登录页面中的一组数据膨胀用户的会话,然后重定向它们,对我重定向到的页面的请求似乎没有会话,因此应用程序必须重新膨胀它。我不明白这一点-我已经查看了cookie,会话ID没有改变,我也没有在代码中的任何地方重置会话数据

编辑

这个问题似乎奇怪地消失了。我的环境一定有点怪怪的。我投票结束这个问题


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

似乎正在发生的事情是,我使用登录页面中的一组数据膨胀用户的会话,然后重定向它们,对我重定向到的页面的请求似乎没有会话,因此应用程序必须重新膨胀它。我不明白这一点-我已经查看了cookie,会话ID没有改变,我也没有在代码中的任何地方重置会话数据。这是ASP.NET的“feauture”吗?我正在使用ASP.NET4.0

编辑:


澄清:会话在登录请求期间膨胀(在登录按钮的偶数点上)。在下一个请求期间,会话似乎不再填充,因此我不得不重新膨胀会话。用户在此之后发出的任何请求,会话似乎都会“粘住”,我有适当膨胀的会话用于后续请求。

要回答您的问题,会话状态数据与登录/注销无关

数据可能从
SessionState
中“消失”的原因有很多

  • 如果您在web服务器场上使用
    InProc
    SessionState
    ,则该服务器场中的其他计算机可能会为用户提供后续请求
  • SessionState
    如果太满(如缓存),则可以清除
  • 如果您正在使用自定义的
    会话状态存储提供程序
    ,则它可能无法正确保存/检索
    会话状态

回答您的问题
会话状态
数据独立于登录/注销

数据可能从
SessionState
中“消失”的原因有很多

  • 如果您在web服务器场上使用
    InProc
    SessionState
    ,则该服务器场中的其他计算机可能会为用户提供后续请求
  • SessionState
    如果太满(如缓存),则可以清除
  • 如果您正在使用自定义的
    会话状态存储提供程序
    ,则它可能无法正确保存/检索
    会话状态

在页面周期中,您何时在登录时填充会话-在按钮中单击?您的所有页面都在同一个域下吗?您是否启用了会话?我相信我已经在刚才针对该问题制作的版本中解决了您的问题。在页面周期中,您是否在登录时填充会话-在按钮中单击?您的所有页面都在同一个域下吗?您是否启用了会话?我相信我已经在刚才针对该问题制作的版本中解决了您的问题。所有的想法都很好。但是,我没有使用web场(这在我的本地框中),会话未满,并且我没有使用自定义会话StateStoreProvider-我使用的是
InProc
。在登录请求期间,会话被膨胀,然后在下一个请求中,我不得不重新膨胀会话,之后的任何请求,它似乎都“粘住”,从那一点开始,我就有了适当膨胀的会话。所有好的想法。但是,我没有使用web场(这在我的本地框中),会话未满,并且我没有使用自定义会话StateStoreProvider-我使用的是
InProc
。在登录请求期间,会话膨胀,然后在下一个请求中,我必须重新膨胀会话,之后的任何请求,它似乎都“粘住”,从那一点开始,我就有了适当膨胀的会话。