在主页的页面加载中,我设置了这样的cookie: -
if (abc == true)
{
HttpCookie cookie = new HttpCookie("Administrator");
cookie.Value = "Admin";
cookie.Expires = DateTime.Now.AddDays(-1);
Response.SetCookie(cookie);
}
Run Code Online (Sandbox Code Playgroud)
并使用cookie作为: -
if (Request.Cookies["Administrator"] != null)
{
if (Request.Cookies["Administrator"].Value == "Admin")
//some code
}
Run Code Online (Sandbox Code Playgroud)
注销时我希望此cookie过期或被删除.所以我写了: - Seesion.Abandon();
现在,即使我退出后,当我重新登录主页时,该行Request.Cookies["Administrator"]
仍然不是空的.
奇怪...!请告诉我这是什么原因和解决方案.
Aka*_* KC 12
来自MSDN文档,
您无法直接删除用户计算机上的cookie.但是,您可以通过将cookie的过期日期设置为过去日期来指示用户的浏览器删除cookie.下次用户向设置cookie的域或路径中的页面发出请求时,浏览器将确定cookie已过期并将其删除.
你可以这样做:
if (Request.Cookies["Administrator"] != null)
{
HttpCookie myCookie = new HttpCookie("Administrator");
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);
}
Run Code Online (Sandbox Code Playgroud)
你可以试试
Seesion.Abandon();
Response.Cookies.Clear();
Run Code Online (Sandbox Code Playgroud)
或者也
YourCookies.Expires = DateTime.Now.AddDays(-1d);
Run Code Online (Sandbox Code Playgroud)
链接:http://msdn.microsoft.com/en-us/library/ms178195%28v=vs.100%29.aspx
您必须指定过去的过期日期才能删除特定Cookie:
HttpCookie myCookie = new HttpCookie("Administrator");
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);
Run Code Online (Sandbox Code Playgroud)
更多信息可以在这篇msdn文章中找到:
归档时间: |
|
查看次数: |
32668 次 |
最近记录: |