Asp.net 用户注销后会话数保持不变

Asp.net 用户注销后会话数保持不变,asp.net,session,iis-7,Asp.net,Session,Iis 7,使用性能计数器观察“会话总数”,我发现用户注销后会话的#保持不变。这是IIS7中的预期行为吗 以下是注销实现: Session.Clear(); Session.Abandon(); FormsAuthentication.SignOut(); 谢谢。会话本身并不与表单身份验证相关联,如果您使用的是表单身份验证的话。当用户注销您的应用程序时,您是否正在调用会话。放弃()?即便如此,如果用户在未注销的情况下停止使用应用程序,会话将保持打开状态,直到过期。会话过期时间可以在web.config中设

使用性能计数器观察“会话总数”,我发现用户注销后会话的#保持不变。这是IIS7中的预期行为吗

以下是注销实现:

Session.Clear();
Session.Abandon();
FormsAuthentication.SignOut();

谢谢。

会话本身并不与表单身份验证相关联,如果您使用的是表单身份验证的话。当用户注销您的应用程序时,您是否正在调用会话。放弃()?即便如此,如果用户在未注销的情况下停止使用应用程序,会话将保持打开状态,直到过期。会话过期时间可以在web.config中设置。

如果您使用的是表单身份验证,则会话本身并不与表单身份验证相关联。当用户注销您的应用程序时,您是否正在调用会话。放弃()?即便如此,如果用户在未注销的情况下停止使用应用程序,会话将保持打开状态,直到过期。会话过期时间可以在web.config中设置。

一个会话可能会被破坏,但随后会创建另一个会话。用户不再经过身份验证并不意味着他或她没有会话状态

会话很可能被破坏,但在下一个请求时(我认为是在同一个域/服务器上),会导致会话id被重用,从而创建具有相同会话id的空会话状态)


当然,所有这些都是假设您在注销某人后立即重定向到同一网站中的某个位置。一个会话可能会被破坏,但随后会创建另一个会话。用户不再经过身份验证并不意味着他或她没有会话状态

会话很可能被破坏,但在下一个请求时(我认为是在同一个域/服务器上),会导致会话id被重用,从而创建具有相同会话id的空会话状态)


所有这些当然都是假设您在注销某人后立即重定向到同一网站中的某个位置。您是否这样注销您的用户

HttpContext.Current.Session.Clear();
HttpContext.Current.Session.Abandon();
HttpContext.Current.User = null;
FormsAuthentication.SignOut();

您是否像这样注销您的用户

HttpContext.Current.Session.Clear();
HttpContext.Current.Session.Abandon();
HttpContext.Current.User = null;
FormsAuthentication.SignOut();

我想你找错柜台了:

  • Sessions Total是自web应用程序启动以来的会话总数(此数字永远不会下降,除非重新启动web应用程序)

  • Sessions Active是当前活动会话的数量(我认为您找错了计数器:

    • Sessions Total是自web应用程序启动以来的会话总数(此数字永远不会下降,除非重新启动web应用程序)

    • 会话活动是当前活动会话的数量(用户注销是如何实现的?用户注销是如何实现的?