我的登录方法中有以下代码:
Response.Cookies["cookie"].Value = "...";
Response.Cookies["cookie"].Domain = "domain.com";
这样cookie就放到了主域和所有子域
但是,当我尝试删除 cookie 时:
Response.Cookies["cookie"].Expires = DateTime.Now.AddYears(-1);
这是行不通的!
当我删除指定域属性的第 2 行代码时,它工作正常。
我该如何解决这个问题?
谢谢
最佳答案
好吧,我明白了。
当您删除设置了域属性的 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#/ASP.NET : can't remove cookies with Domain property specified,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6993791/