вопросы о файлах cookie .net HttpCookie class / session
-
08-07-2019 - |
Вопрос
Меня интересует, как сделать обычный 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, устанавливать его не нужно.
Позвони Меланну