Это касается ситуации, когда сеанс используется для хранения некоторых временных данных - одним из примеров является информация, вводимая во время многоэтапного процесса регистрации.
Если на веб-сайте есть несколько таких разделов, которые хотят использовать сеанс в качестве временного хранилища данных для страниц в этом разделе, что является хорошим способом очистки сеанса, когда данные больше не требуются, учитывая, что пользователь может просто выйдите из раздела, чтобы сами страницы нельзя было использовать для очистки.
[Edit] В моем случае основной движущей силой для этого является уменьшение сетевого трафика, поскольку сеанс хранится вне процесса, но та же проблема может относиться к приложениям с привязкой к памяти и производительности в целом. Также непредвиденные данные в сеансе могут легко привести к трудностям для отслеживания ошибок.





Если вы хотите хранить массовые данные, у вас есть следующие альтернативы:
Не рекомендуется хранить в сеансе большой объем данных.
Время должно поддерживать чистоту сеанса. Сессии должен истекают, и при этом уничтожаются все их данные. Это поведение по умолчанию.
Я согласен с тем, что хранение слишком большого количества данных в сеансе не очень хорошо для серверных ресурсов, но, как вы знаете, иногда это неизбежное зло. Если вас это действительно беспокоит, подумайте о переносе сеансов на SQL Server. Это добавит немного задержки, но вы сможете обрабатывать гораздо больше пользователей.
Почему бы не хранить все в базе данных? Это просто чище.
Почему? Что ж, большинство современных веб-приложений обращаются к базе данных более десятка раз при каждом просмотре страницы, поэтому несколько дополнительных простых запросов не должны существенно повлиять на производительность.
Сказав это, нет ничего плохого в хранении большого количества данных, созданных пользователем, в сеансе, особенно если вы используете сеансы на основе файлов.
Почему? На самом деле, сколько текста может ввести один человек в регистрационную форму? Все, что меньше 4000 байт, займет столько же места: одна страница ОС!
Вы можете разработать многоэтапный процесс регистрации без использования хранилища сеансов или использования базы данных для хранения временных данных. Вы можете создать одну страницу .aspx с несколькими панелями, которые вы будете делать видимыми по одной панели за раз. Когда пользователь завершит последнюю панель, у вас все еще будет доступ ко всем ранее заполненным элементам управления.