Сессия / Cookies не устанавливаются (Post, Redirect) - PullRequest
1 голос
/ 06 апреля 2011

У меня большая проблема с Session и Cookies в Classic ASP.

У меня есть "a.asp", где я установил Session("step") = "1".Это работает, и когда я вызываю свой «test.asp», где я делаю <%=Session("step")%>, я получаю «1».

Затем я отправляю форму на «a.asp» в «process.asp», где я устанавливаюдругие переменные сеанса, основанные на представленных значениях формы.Наконец, я перенаправляю на «b.asp».

На «b.asp» я проверяю, если Session("step") = "1", и устанавливаю «2», если это было «1», и перенаправляю на «a.asp» в противном случае,Я пишу Session("step") на странице, и он говорит «2», но когда я вызываю «test.asp», он говорит «1».

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

Пробовал то же самое с файлами cookie (Response.Cookies("step") / Request.Cookies("step")), и я получил тот же результат.

Все страницы находятся вта же папка, и в IIS есть только 1 рабочий поток.

Просто не могу понять, почему сеанс и cookie не устанавливаются.Любой совет приветствуется!

1 Ответ

1 голос
/ 07 апреля 2011

(Кажется, не комментирует, но нуждается в некотором уточнении. Отредактирует / удалит этот ответ соответствующим образом. В любом случае ....)

Это может быть проблемой кеширования:

  • Вы пробовали CTRL + F5, чтобы убедиться, что ваш браузер перезагружается.
  • Попробуйте в другом браузере, я обнаружил, что Firefox и Chrome иногда игнорируют принудительное обновление кэша или пытаются в "приватном" режиме.
  • Есть ли на вашем хосте балансировщик нагрузки или система кэширования? Добавьте случайную строку запроса к каждому запросу в test.asp, чтобы убедиться.
  • Вы можете запретить кэширование, но некоторые браузеры, интернет-провайдеры и хостеры все равно игнорируют его ...

.

Response.Expires = 0
Response.AddHeader "pragma","no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "no-cache"

Извиняюсь, если вы попробовали все это, лучше спросить с быстрым комментарием!

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