Сессии это вообще один из самых больших обманов в вебе. Создан трудолюбивыми программистами. Ленивый сначала подумает, а потом начнет писать. А сессии придумали программисты которые пишут, а потом думают. Знаете как в некоторых Microsoft Framework'ах хранятся сессии? На стороне пользователя. А знаете к чему это приводит? К тому что каждый запрос пользователя разрастается до десятков мегабайт. Представьте себе сайтик для навигации по которому каждый ваш запрос отправляет 34Mb информаци.
Что же будет если хранить на сервере информацию о сессиях? Ну хорошо, ученик Петя В. решил зарегистрироваться на Самом Большом Порноресуре в рунете по прямой ссылке с Рекомендуемой Стартовой Страницы для всех школьников. Петя В. нажал на кнопку регистрации и перед ним предстала 80-ти страничная регистрационная форма в которой, между прочим, добрые дяди спрашивали циферки с пластиковой карточки которая обязательно должна была храниться в кошельке или кормане брюк папы. Петя В. пошел в родительскую спальню и начал поиски бумажника, но случайно наткнулся на интересный журнал с цветными картинками в тубочке возле кровати. К сожалению когда Петя наконец-то понял, что картинки ему не интересны и вернулся для того чтобы закончить регистрацию на сайте. После нажатия кнопки "Далее" у него появилось сообщение о како-то ошибке и больше вопросы ему не задавались.
Идея сессий порочна, максимум который можно хранить это авторизационная кука. А временные несохраненные данные для которых ожидаются следующие шаги пользователя всегда будут вызывать ошибки. Об этом надо забыть раз и навсегда. Либо модифицируйте объект сразу, за одну транзакцию либо изменяйте свое приложение.
