如何删除ASP.NET网站上的cookie?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (139)

在我的网站上,当用户点击“注销”按钮时,Logout.aspx页面将加载代码Session.Clear()

在ASP.NET / C#中,这是否清除所有cookie?或者是否有任何其他代码需要添加删除我的网站的所有cookie?

提问于
用户回答回答于

试试这样的东西:

if (Request.Cookies["userId"] != null)
{
    Response.Cookies["userId"].Expires = DateTime.Now.AddDays(-1);   
}

但是使用它也是有意义的。

Session.Abandon();

而且在很多情况下。

用户回答回答于

不可以,Cookies只能通过设置每个人的到期日期来清除。

if (Request.Cookies["UserSettings"] != null)
{
    HttpCookie myCookie = new HttpCookie("UserSettings");
    myCookie.Expires = DateTime.Now.AddDays(-1d);
    Response.Cookies.Add(myCookie);
}

在以下时刻Session.Clear()

  • Session集合中的所有键值对都被删除。Session_End事件不会发生。

如果在注销期间使用此方法,则还应该使用该Session.Abandon方法来执行 Session_End事件:

  • 具有会话ID的Cookie(如果应用程序使用Cookie进行会话ID存储,默认情况下)将被删除

扫码关注云+社区

领取腾讯云代金券