Нужно удалить cookie. Делаю это самым логичным на мой взгляд образом:
var cookie = Request.Cookies["Key"];
if (cookie != null)
{
Response.Cookies.Remove("Key");
}
Но после выполнения этого кода cookie на клиенте остается. Что не так?
Нужно удалить cookie. Делаю это самым логичным на мой взгляд образом:
var cookie = Request.Cookies["Key"];
if (cookie != null)
{
Response.Cookies.Remove("Key");
}
Но после выполнения этого кода cookie на клиенте остается. Что не так?
Метод Cookies.Remove
удаляет cookie из коллекции на сервере. Естественно, у клиента при этом всё остаётся без изменений. Чтобы удалить cookie с клиента нужно создавать новый объект HttpCookie
с тем же именем и задать Expires
в прошедшую дату:
if (Request.Cookies["Key"] != null)
{
var cookie = new HttpCookie("Key")
{
Expires = DateTime.Now.AddDays(-1d)
};
Response.Cookies.Add(cookie);
}