Не могу удалить куки на тестовом сервере - PullRequest
0 голосов
/ 16 марта 2009

У меня проблема с удалением cookie на моем тестовом сервере. На моем компьютере разработчика cookie удаляет нормально.

Это запрос / ответ, полученный от скрипача. Я пытаюсь удалить cookie .Hv2 alt text

Я пробовал без установки пути пути файла cookie ответа - без разницы. Это пример того, как выглядит файл cookie от FF.

alt text

Одно отличие, которое я заметил между моей машиной разработчика и тестовым сервером, заключается в том, что хостом для файла cookie на моей машине разработчика является .my.hostname.dev вместо .hostname.dev

Вот код, который я использую для удаления куки

var oldFormsCookie = context.Request.Cookies[".Hv2"];
if (oldFormsCookie != null)
{
    context.Response.Cookies.Remove(oldFormsCookie.Name);
    var removalCookie = new HttpCookie(oldFormsCookie.Name)
    {
        Expires = DateTime.Now.AddYears(-1), 
        Domain = oldFormsCookie.Domain,
        Value = "remove"
    };
    context.Response.SetCookie(removalCookie);
}

Мне кажется, это следовало бы удалить это печенье! У кого-нибудь есть идеи? спасибо

1 Ответ

1 голос
/ 17 марта 2009

Что ж, похоже, проблема была в том, что домен для cookie выглядел как нулевой, тогда как на самом деле он был таким же, как cookie FormsAuth. Я изменил код на

Domain = oldFormsCookie.Domain ?? FormsAuthentication.CookieDomain

и, похоже, работает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...