Нет, это невозможно. API для «разогрева» в сеансе сеанса или кэша не существует. В любом случае такое решение будет ненадежным. Вы не могли гарантировать, что последнее, что ваше приложение сделало, - это экспортировать текущее состояние сеанса, так что вы никогда не сможете рассчитывать на то, что импортированные данные будут текущими.
Вы можете использовать сервер состояния вне процесса на том же хосте, что и ваше веб-приложение. Затем веб-приложение может свободно перерабатываться, сохраняя информацию о состоянии. Это немного быстрее, чем использование SQL Server для управления сеансами, поскольку вам не нужно иметь дело с накладными расходами SQL или сети на другую машину, единственный способ, который хуже, чем в процессе сеанса, заключается в том, что данные должны маршал через границы процесса, но пока у вас нет большого количества быстро изменяющихся данных сеанса, это не должно быть заметно вообще.
Есть также другие альтернативы, такие как Microsoft Project Code Named "Velocity" или ScaleOut Software's SessionServer (среди прочего, я уверен), которые предлагают распределенные механизмы кэширования, которые могут поддерживать синхронизацию сеанса или кеш-памяти между серверами в ферме серверов, не прибегая к использованию SQL Server ,
Вопреки тому, что другой пользователь разместил, я бы не использовал ViewState для хранения данных сеанса, если это вообще возможно. Во-первых, это не истинное состояние сеанса, если пользователь перемещается назад или вперед, он может быть потерян. Во-вторых, это довольно небезопасно. В-третьих, это вызывает массовое раздувание страницы, если ее злоупотребляют.
это не сработает. Максимальный размер файла cookie составляет около 4 тыс. Cookies также являются очень неэффективным и небезопасным способом перемещения данных вперед и назад. –
Да, но, возможно, вам нужно сохранить только некоторые идентификаторы в этом файле cookie (например, идентификатор пользователя, текущую страницу и т. Д.) И, при необходимости, восстановить оставшуюся часть сеанса из базы данных. – M4N