2008-09-22 4 views

ответ

16

Файлы cookie доступны только для домена, который их создал, поэтому если файл cookie был создан на metric.foo.com, его нужно будет удалить в том же домене, который был создан. Сюда входят поддомены.

Если вам необходимо удалить cookie с сайта metric.foo.com, но в настоящее время выполняется страница на www.foo.com, вы не сможете.

Для этого вам необходимо загрузить страницу с metric.foo.com или создать файл cookie под именем foo.com, чтобы его можно было получить под любым поддоменом. ИЛИ используйте:

Response.Cookies ("MyCookie") домен = ".foo.com"

... создавая его, и, прежде чем удалить его..

..следующий - должен работать.

5

У меня была та же проблема с субдоменами. По какой-то причине получение файла cookie первым из запроса не сработало. Вместо этого я закончил создание нового файла cookie с тем же именем cookie и датой истечения срока действия в прошлом. Это отлично работает:

 
void DeleteSubdomainCookie(HttpResponse response, string name) 
{ 
    HttpCookie cookie = new HttpCookie(name); 
    cookie.Expires = DateTime.Now.AddMonths(-1); 
    cookie.Domain = ".yourdomain.com"; 
    response.Cookies.Add(cookie); 
} 
Смежные вопросы