Сессия пуста в ASP.NET / IIS после перестроения - PullRequest
5 голосов
/ 19 февраля 2010

Я работаю над веб-приложением ASP.NET MVC и создал свой собственный модуль аутентификации, основанный на сеансах (без файлов cookie). Проблема заключается в следующем: когда я перестраиваю свое приложение, я автоматически вхожу (сеанс пуст).

Обычно это не большая проблема, потому что мое приложение не «автоматически» перестраивается в производственной среде. Но я также создал модуль, который изменяет файлы ресурсов, и после изменения файла ресурсов приложение, похоже, перестраивается автоматически.

Итак, мой актуальный вопрос: можно ли «сохранить» переменные сеанса / оставаться в системе после восстановления?

Ответы [ 2 ]

6 голосов
/ 19 февраля 2010

Вам нужно будет использовать что-то кроме сессий InProc. Вам нужно будет использовать сервер состояний ASP.net или сервер SQL в качестве резервного хранилища для ваших сеансов. Они могут быть немного медленнее, но более устойчивы.

1 голос
/ 19 февраля 2010

Как отмечает Пэдди, вам нужно будет использовать что-то кроме сессий InProc.Перейдите на MSDN , чтобы узнать, как перейти на решение на основе SQL или Windows Service.

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

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