Session.Clear();
Session.Abandon();
Session.RemoveAll();
System.Web.Security.FormsAuthentication.SignOut();
我正在做这么多代码
仍然
HttpContext.Current.Session["User"] is not null
:(
答案 0 :(得分:3)
您无需同时拨打Clear
和RemoveAll
。以下是RemoveAll
的实施方式:
public void RemoveAll()
{
this.Clear();
}
这里还引用了KB 899918:
当Web应用程序需要时 登录并提供注销页面或 选项,我们建议您清除 用户拥有的会话状态 从网站上注销。清除 会话状态,调用 Session.Abandon方法。该 Session.Abandon方法允许您刷新 会话状态无需等待 会话状态超时。通过 默认情况下,此超时为20分钟 滑动到期。到期时间是 每次用户刷新 向网站提出请求 提供会话ID cookie。该 放弃方法在中设置标志 会话状态对象,指示 会话状态应该是 弃。检查旗帜 然后在页面的末尾采取行动 请求。 因此,用户可以使用 页面中的会话对象 你称之为Abandon方法。尽快 当页面处理完成时, 会议被删除。
答案 1 :(得分:0)
尝试使用适用于我的session.flush();
。
不确定它是否可以帮到你。