C#/ ASP.NET:无法删除指定了Domain属性的cookie

Ale*_*lex 12 c# cookies subdomain

我的登录方法中有以下代码:

Response.Cookies["cookie"].Value = "...";
Response.Cookies["cookie"].Domain = "domain.com";
Run Code Online (Sandbox Code Playgroud)

这样,cookie就会被放入主域和所有子域

但是,当我尝试删除cookie时:

Response.Cookies["cookie"].Expires = DateTime.Now.AddYears(-1);
Run Code Online (Sandbox Code Playgroud)

它不起作用!

当我删除指定Domain属性的2行代码时,它工作正常.

我怎么解决这个问题?

谢谢

Ale*_*lex 30

好的,我想出来了.

当您删除具有域属性设置的cookie时,您需要为新的假cookie设置相同的属性:

if (Request.Cookies["cookie"] != null)
{
    HttpCookie myCookie = new HttpCookie("cookie");
    myCookie.Expires = DateTime.Now.AddDays(-1d);
    myCookie.Domain = "domain.com"; // !!!!
    Response.Cookies.Add(myCookie);
}
Run Code Online (Sandbox Code Playgroud)

  • 你先生拯救了我的一天! (2认同)