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

前端之家收集整理的这篇文章主要介绍了C#/ ASP.NET:无法删除指定的Domain属性的cookie前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的登录方法中有以下代码
Response.Cookies["cookie"].Value = "...";
Response.Cookies["cookie"].Domain = "domain.com";

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

但是当我尝试删除cookies时:

Response.Cookies["cookie"].Expires = DateTime.Now.AddYears(-1);

它不行!

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

如何解决这个问题?

谢谢

解决方法

好的,我想出来了.

当您使用Domain属性设置删除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);
}

猜你在找的C#相关文章