Вопрос

Меня интересует, как сделать обычный HttpCookie преобразуйте объект в файл cookie, срок действия которого истекает в конце сеанса.Меня кто-то не интересует showing me HttpContext.Session.Как сессионный файл cookie выглядит в заголовках ответа по сравнению с обычным файлом cookie?Как я могу изменить HttpCookie истекать в конце сеанса?Спасибо!

Это было полезно?

Решение

Сессионный файл cookie - это просто файл cookie, у которого не установлен срок годности.

Response.Cookies.Add(new HttpCookie("name", "value"));

или:

Response.Cookies["name"] = "value";

Другие советы

Срок действия файла cookie с истечением срока действия DateTime.MinValue (01.01.10001) истекает в конце сеанса. Это срок действия по умолчанию для файла cookie в asp.net.

Вы можете немедленно принудительно удалить cookie-файл с клиента, установив дату истечения срока до "сейчас". (DateTime.Now.AddDays (-1d)), в этом случае он будет удален при попадании в клиент.

Если бы при кодировании HttpCookie у нас были обнуляемые типы, мое предположение состоит в том, что нулевая дата будет соответствовать cookie на основе сеанса, а все остальное будет переводиться в значение срока действия, но это не так.

Срок действия файла cookie истек:

  • Сессионный файл cookie - дата истечения срока действия должна быть DateTime.MinValue, которая равна 1/1/0001 00:00:00
  • Обычный файл cookie (ограничен по времени) - датой истечения срока действия является любая будущая дата, равная или превышающая текущую DateTime.Now.
  • Удаленный файл cookie - в любое время между DateTime.MinValue и DateTime.Now.

Чтобы изменить файл cookie на файл cookie сеанса, просто назначьте MinValue .

httpCookie.Expires = DateTime.MinValue;

Если ваш файл cookie новый.Значением по умолчанию для DateTime должно быть DateTime.MinValue, устанавливать его не нужно.

Позвони Меланну

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top