我不知道在尝试删除cookie时我在做错了什么...有人可以帮忙吗?这是我试图删除cookie的代码。
if (Request.Cookies["RememberUser"] != null)
{
HttpCookie objCookie = Request.Cookies["RememberUser"];
objCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(objCookie);
}
以上代码是否正确删除cookie,由于某种原因这不起作用......
即使我尝试使用更新Cookie,此代码也无效
Response.Cookies.Set(objCookie);
。
答案 0 :(得分:0)
上面的代码已经完成了。我很惊讶为什么你不能删除。问题可能出现在你的创建cookie代码中。
var cookie = this.Request.Cookies["user"];
if (cookie == null)
{
cookie = new HttpCookie("user");
cookie.Path = "/";
cookie.Value = "123";
this.Response.Cookies.Add(cookie);
}
else
{
cookie.Expires = DateTime.Now.AddDays(-1d);
this.Response.Cookies.Add(cookie);
}
第一次访问时没有来自服务器的cookie和响应头。
响应标题:
Date: Sun, 08 Apr 2012 02:18:37 GMT
X-AspNet-Version: 4.0.30319
Set-Cookie: user=123; path=/
再次使用服务器上的cookie和响应标头进行访问。
响应标题:
Date: Sun, 08 Apr 2012 02:19:32 GMT
X-AspNet-Version: 4.0.30319
Set-Cookie: user=123; expires=Sat, 07-Apr-2012 02:19:32 GMT; path=/
和请求标题:
GET /
Cookie: user=123
.....
您可以使用firebug
与firefox或fiddler
软件来跟踪回复和请求,看看为什么无法删除cookie.good运气。