无法删除测试服务器上的cookie

时间:2009-03-16 14:09:05

标签: asp.net firefox cookies

我在测试服务器上删除cookie时遇到问题。在我的开发机器上,cookie删除正常。

这是来自fiddler的请求/回复。我正在尝试删除.Hv2 cookie alt text

我试过没有设置响应cookie的路径部分 - 没有区别。这是从FF看到cookie的样子。

alt text

我在开发机器和测试服务器之间注意到的一个区别是我的开发机器上的cookie主机是.my.hostname.dev而不是.hostname.dev

以下是我用来删除Cookie的代码

var oldFormsCookie = context.Request.Cookies[".Hv2"];
if (oldFormsCookie != null)
{
    context.Response.Cookies.Remove(oldFormsCookie.Name);
    var removalCookie = new HttpCookie(oldFormsCookie.Name)
    {
        Expires = DateTime.Now.AddYears(-1), 
        Domain = oldFormsCookie.Domain,
        Value = "remove"
    };
    context.Response.SetCookie(removalCookie);
}

在我看来它应该删除这个cookie!有人有任何想法?感谢

1 个答案:

答案 0 :(得分:1)

看起来问题是cookie的域显示为null,而实际上它与FormsAuth cookie相同。我将代码更改为

Domain = oldFormsCookie.Domain ?? FormsAuthentication.CookieDomain

似乎有效