Asp.net 注销时删除cookie
在主页的pageload上,我设置了如下cookie:-Asp.net 注销时删除cookie,asp.net,cookies,Asp.net,Cookies,在主页的pageload上,我设置了如下cookie:- if (abc == true) { HttpCookie cookie = new HttpCookie("Administrator"); cookie.Value = "Admin"; cookie.Expires = DateTime.Now.AddDays(-1); Response.SetCookie(cookie); } 并将cookie用作:- if (Request.Cookies["A
if (abc == true)
{
HttpCookie cookie = new HttpCookie("Administrator");
cookie.Value = "Admin";
cookie.Expires = DateTime.Now.AddDays(-1);
Response.SetCookie(cookie);
}
并将cookie用作:-
if (Request.Cookies["Administrator"] != null)
{
if (Request.Cookies["Administrator"].Value == "Admin")
//some code
}
注销时,我希望此cookie过期或被删除。因此,我写了:-seision.about()代码>
现在,即使在我注销之后,当我重新登录到主页时。。
行Request.Cookies[“管理员”]
仍然不是空的
奇怪。。。!请告诉我原因和解决方法。您可以用
Session.Abandon();
Response.Cookies.Clear();
或者也
YourCookies.Expires = DateTime.Now.AddDays(-1d);
链接:您必须指定过去的过期日期才能删除特定cookie:
HttpCookie myCookie = new HttpCookie("Administrator");
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);
更多信息可在本msdn文章中找到:
来自
不能直接删除用户计算机上的cookie。然而,你
可以通过设置
cookie的过期日期为过去的日期。下一次用户进行
请求设置cookie的域或路径中的页面
浏览器将确定cookie已过期并将其删除
您可以这样做:
if (Request.Cookies["Administrator"] != null)
{
HttpCookie myCookie = new HttpCookie("Administrator");
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);
}
我觉得你的台词
cookie.Expires = DateTime.Now.AddDays(-1);
应该立即使您的cookie过期
如果你只是打错了,那就好消息!您可以通过将过期日期设置为过去,使cookie过期