ASP.NET App Pool Получение отказа от пользователя - PullRequest
1 голос
/ 11 января 2010

Я использую проверку подлинности формы в ASP.NET 3.5.

Я заметил, что когда мой пул приложений перезагружается (каждые 1,5 часа), пользователи, прошедшие проверку подлинности с помощью форм (которые имеют cookie-файл аутентификации), отключаются и должны повторно войти в систему.

Как этого избежать?

Ответы [ 2 ]

3 голосов
/ 11 января 2010

Ваш режим сеанса установлен в InProc, что означает, что он привязан к этому экземпляру W3WP и очищен при перезапуске. (По крайней мере на IIS6, не уверен насчет IIS7)

Вместо этого используйте StateServer или SqlServer.

Проверьте документацию MSDN о sessionState , особенно статью о режимах состояния сеанса .

Редактировать: Пауло сделал хороший комментарий: сеансы InProc могут хранить практически каждый объект, в то время как StateServer и SqlServer требуют, чтобы они были Сериализуемые . Кроме того, я хотел бы добавить, что они медленнее - вы не можете превзойти скорость сессий InProc, поскольку они хранятся в памяти. С другой стороны: использование State / SqlServer поможет вам, если вам когда-нибудь понадобится добавить балансировку нагрузки в ваше приложение. Есть плюсы и минусы для всех режимов, здесь нужно выбрать яд.

1 голос
/ 11 января 2010
...