2010-01-07 2 views
1

У нас проблема прерывистая, когда некоторые пользователи теряют сессию. Наши настройки сессии в web.config следующим образом:Что убивает сессию Asp.net моих пользователей?

<sessionState mode="InProc" timeout="1440"/>

... который должен быть 24 часов (значение намеренно поверх во время тестирования).

Есть ли другие настройки (возможно, в IIS7), о которых мне нужно знать? Или есть ли какие-либо ресурсы, которые перечислят то, что может убить сеанс пользователя?

Сообщите мне, если вам нужна дополнительная информация.

Спасибо!

Dave

ответ

4

Изменение файла web.config, или любой из библиотек DLL приведет к сессии, которая будет уничтожена, как будет переработка приложений бассейнов (это, как правило, устанавливается на время ожидания 20 минут бездействия, но также будет происходить при определенных условиях исключения и, возможно, в условиях памяти)

1

Все, что перерабатывает пул приложений, убьет состояние сеанса InProc.

Проверяйте свойства пула приложений по умолчанию, есть несколько настроек, которые могут привести к повторному использованию пула менее чем за 24 часа.

Обычно при тестировании на сайте мало активности, и вы теряете время ожидания простоя пула.

2

Проверьте настройки пула приложений. Здесь есть несколько вещей, которые могут помешать этому:

  • Параметры переработки отходов;
  • Несколько процессов (каждый из них будет сохранять свой собственный сеанс);
  • Изменение файла web.config или других связанных с ним файлов немедленно перерабатывает процесс.
0

Спасибо за все ответы, похоже, это было потому, что в App Pool было настроено переработать в 3 часа ночи, и некоторые пользователи просто оставляли себя в лотерее за ночь, а затем просто продолжали утром! Теперь мы добавили лучшую обработку тайм-аута сеанса.

Еще раз спасибо!

Смежные вопросы