Назад | Перейти на главную страницу

Идентификатор сеанса IIS7, чередующийся с классическим ASP

Я пытаюсь перенести классическое приложение ASP на сервер Windows 2008 R2.

Функции приложения работают нормально, но у меня проблема с сеансом.

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

Во время отладки я обнаружил, что сеансы не истекают, но вместо этого я получаю 2-3 разных идентификатора сеанса, используемых одним браузером.

Я вывожу Response.Write (Session.SessionID) на различных страницах приложения, и я могу сидеть и нажимать кнопку «Обновить» снова и снова и наблюдать, как число между этими 2-3 идентификаторами сеанса меняется случайным образом.

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

Если я закрою и снова открою браузер, та же история, только набор идентификаторов будет новым.

Это происходит с IE8, Firefox и Chrome с нескольких компьютеров.

Вещи, которые я пробовал:
- Для AppPool установлено значение «Без управляемого кода» и «Классический».
- Кэширование вывода устанавливает .asp, чтобы никогда не кешировать
- Свойства сеанса ASP включили и отключили состояние сеанса asp и подтвердили, что это затронуло страницу (ошибка при попытке чтения Session.SessionID при отключении)

То, что я пробовал на всякий случай, но не должно иметь ничего общего с сеансом ASP:
- Отключено сжатие
- Изменены свойства состояния сеанса ASP.Net (InProc, StateServer, SQLServer, Cookies, URI и т. Д.) -

Проверьте настройки веб-сада для пула приложений. Если оно больше 1, сайт будет работать в более чем 1 рабочем процессе. Состояние сеанса в классическом ASP зависит от одного экземпляра оперативной памяти. Очень редко для веб-сада нужно установить значение, отличное от 1.

Веб-ферма с циклической балансировкой нагрузки будет иметь ту же проблему, но ваш пост не предполагает, что она у вас есть.