Файлы cookie, созданные в ASP.NET, связаны с тайм-аутом сеанса? - PullRequest
1 голос
/ 23 июля 2010

Если я создаю файл cookie (в ASP.NET), как этов cookie только тогда, когда браузер остается открытым, даже если пользователь не активно взаимодействует с приложением.

1 Ответ

2 голосов
/ 23 июля 2010

Нет, он не будет очищен во время сеанса, он истечет, когда вы установите его или закроете браузер:)

По умолчанию cookie-файл без установленного срока действия передается клиенту таким образом (информация об истечении срока действия отсутствует). Снова по умолчанию это означает, что браузер должен зависать на куки, но не сохранять его на диске, поэтому это не 1: 1 с истечением сеанса, а, скорее, всякий раз, когда вы закрываете браузер.

Примеры:

  • Если я захожу на ваш сайт, прохожу без дела на час, хотя мой сеанс истек, я все равно отправлю куки при следующем запросе. Если я закрою браузер (все вкладки, в зависимости от браузера) и попробую снова, я не буду отправлять куки.
  • Если бы я посетил ваш сайт, получил cookie, закрыл свой браузер, открыл другой (до истечения времени ожидания сеанса), у меня все равно был бы такой же сеанс, но не этот cookie.

Возможно, вам лучше было бы хранить эти данные в сеансе ?


Срок действия сеанса истекает из-за файла cookie (файла cookie сеанса), который больше не имеет , что означает на сервере. Когда сеанс истекает, даже если файл cookie находится на клиенте, сервер получает файл cookie и говорит: «Хорошо ... не удается найти сеанс для этого».

При этом вы можете непрерывно загружать cookie-файлы с тем же сроком действия, что и у сеанса (по умолчанию 20 минут с момента запроса). Или вы можете включить идентификатор сеанса в файл cookie, а когда сервер получает файл cookie, игнорировать значение файла cookie, если идентификатор сеанса не совпадает.

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