Что может привести к исчезновению файлов cookie сеанса в середине сеанса? - PullRequest
2 голосов
/ 05 февраля 2009

У меня есть веб-приложение, которое использует куки-файл сессии, чтобы держать пользователей в системе. Когда они входят в систему, система генерирует GUID, который она связывает с записью пользователя в базе данных. Идентификатор GUID, который затем сохраняется в файле cookie, чтобы его можно было прочитать при каждой загрузке страницы и сравнить с записью в базе данных.

Код для установки cookie довольно прост.

Response.Cookies("UserSession")("ID") = vsSessionCookie
Response.Cookies("UserSession").path = "/"

Несмотря на то, что система используется годами, новый клиент начал жаловаться на возникающие ошибки. Когда мы регистрируем информацию об ошибках, когда они возникают, включая файлы cookie, я обнаружил, что файлы cookie сеанса просто больше не присутствуют. Посмотрите на код, который показывает, что если сессионные куки ходят, ошибки приложения.

Обратите внимание, что постоянные файлы cookie, используемые приложением с установленной датой истечения, остаются.

Я знаю, что это должно справиться с этим более изящно, но проблема, о которой я озадачен, заключается в том, что может привести к исчезновению файлов cookie сеанса. Это не тот случай, когда пользователь неактивен в течение определенного периода времени, потому что они утверждают, что это происходит случайно, когда они используют систему. К сожалению, они не являются более конкретными, но в одном случае я обнаружил, что это произошло после того, как они запустили отчет в системе. Этот отчет отображается в новом окне браузера (открывается в JavaScript с помощью Window.Open), поэтому, похоже, что закрытие этого окна уничтожает файлы cookie сеанса в исходном окне.

Система (к сожалению) работает только в IE, но я не могу найти какие-либо настройки, которые могли бы вызвать такое поведение, и она успешно работает для многих других клиентов.

Есть ли где-нибудь настройка, которая может привести к такому поведению? Почему это должно работать для некоторых клиентов, а не для других?

Может быть, это не связано с закрытием окон, и какой-то другой процесс очищает файлы cookie сеанса в середине сеанса, но что?

Так много вопросов .... извините, но если у кого-то есть опыт ситуации, это очень помогло бы!

Для информации веб-система написана на ASP.Net. Существует также система, написанная на классическом ASP, которая также страдает от клиента, поэтому я не верю, что виновата сама веб-система.

Ответы [ 2 ]

2 голосов
/ 05 февраля 2009

Все ли клиенты используют одну и ту же версию IE? Я также видел, как антивирусное программное обеспечение Windows очищало куки.

0 голосов
/ 04 июня 2009

Я сталкивался с такими проблемами с IE6 до сих пор IE8. Кажется, проблема в том, когда вы запускаете IE (что такое первая страница), если это локальная страница (например, file: // c: \ a.htm), а затем оттуда вы переходите на реальный веб-сайт (все равно будет нормально ) затем на вашем веб-сайте открывается всплывающее окно, а затем, когда вы закрываете всплывающее окно (то есть, когда файл cookie сеанса уничтожается, потому что после этого все данные в файле cookie исчезают, и я выхожу. (Пуск> Выполнить> 'iexplore http://www.mywebapp -site.com ')

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

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