Я создал файл cookie в своем приложении C# WebForms, которое я тестирую на IE10 на 64-разрядной версии Windows 7.Удаление cookie и отказ от сеанса не удаляет файл cookie
Проблема в том, что я не могу удалить cookie из кода позади. Если я обновляю страницу или просто нажимаю на гиперссылку, чтобы вернуться к той же странице, страница все равно может прочитать cookie.
У меня есть контроль всплывающий, что в ответ на нажатие пользователем кнопки ОК, будет делать:
String key = "mycookiedata";
HttpCookie oCookie = null;
if (null != HttpContext.Current.Request.Cookies[key])
{
oCookie = HttpContext.Current.Request.Cookies[key];
oCookie.Expires = DateTime.Now.AddDays(-1);
HttpContext.Current.Response.Cookies.Set(oCookie);
}
Session.Remove(key);
Session.Abandon();
Session.Clear();
код позади завершается, и управление переходит обратно к пользователю. Все кажется прекрасным, пока я не обновляю страницу и не узнаю, что файл cookie, который, как я думал, был удален, не был таким. Я также попробовал из любопытства закрыть окно браузера и перезагрузить страницу в новом браузере, и файл cookie все еще был там. Пользователь, который выходит из системы, должен чувствовать себя комфортно, что они действительно вышли из системы, а файл cookie исчез.
Я что-то пропустил в коде?
Вы должны использовать Fiddler и проверять запрос/ответ. Возможно, что, хотя cookie удаляется в ответ, его можно было бы создать заново (GET). Также вы делаете полный ответ или просто обновление AJAX? – CharlesAD
cahmadzadeh, я не знаю ответа на ваш вопрос. Обработка OK'а в ответ на вызов метода панели обратного вызова DevExpress, cpdialog.PerformCallback(). Это делает сообщение назад, но я не знаю тип. Я подозреваю, что обновление Ajax. Я не думаю, что я когда-либо слышал о Fiddler, поэтому я обязательно это проверю. Благодарю. –
Я думал, что видел комментарий, но не могу найти его о том, что мой сеансовый вызов - это запрос, а не ответ. Это может быть. Я попытался добавить это как мысль, чтобы избавиться от файла cookie. Это не сработало. Это стоило попробовать. Я исследую рекреацию печенья. К сожалению, я не могу использовать отладчик в Visual Studio, потому что cookie работает на домене, а не на локальном объекте, но я могу получить поток от Visual Studio. –