Alv*_*ant 1 c# asp.net cookies
当用户注销时,我正在尝试使用 C# 删除 cookie。此处列出的代码建议:从浏览器中删除 cookie不起作用。我绝望地将其中的几个放在一起,但它们都不起作用。
if (Request.Cookies["loginidcookie"] != null)
{
HttpCookie myCookie = new HttpCookie("loginidcookie");
myCookie.Value = String.Empty;
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);
Response.Cookies.Remove("loginidcookie");
}
Response.Redirect("logout.aspx");
Run Code Online (Sandbox Code Playgroud)
因此,我不仅用空字符串覆盖了 cookie 的值,而且将其设置为昨天过期并将其从 cookie 列表中删除。然而,当我运行这段代码然后点击后退按钮并重新加载时,cookie 仍然以其原始值存在。那么我该如何摆脱它呢?
谢谢
试试这个:
string cookieName = "loginidcookie";
if (Request.Cookies[cookieName ] != null)
{
var myCookie = new HttpCookie(cookieName);
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);
}
Response.Redirect("logout.aspx", false);
Run Code Online (Sandbox Code Playgroud)
注意(从这里):
您不能直接删除用户计算机上的 cookie。但是,您可以通过将 cookie 的到期日期设置为过去的日期来指示用户的浏览器删除 cookie。下次用户向设置 cookie 的域或路径中的页面发出请求时,浏览器将确定 cookie 已过期并将其删除。