Cookies删除,有人可以帮助纠正下面的代码吗?

时间:2012-04-07 23:47:28

标签: asp.net cookies

我不知道在尝试删除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);

1 个答案:

答案 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运气。